home *** CD-ROM | disk | FTP | other *** search
/ Ultra Pack / UltraComputing Partner Applications.iso / SunLabs / tclTK / src / tk4.0p1.patch < prev    next >
Text File  |  1995-07-28  |  77KB  |  2,577 lines

  1. Prereq: "4.0"
  2. *** ../tk4.0/patchlevel.h    Fri Jun 30 11:18:49 1995
  3. --- patchlevel.h    Fri Jul 28 10:08:41 1995
  4. ***************
  5. *** 17,23 ****
  6.    * See the file "license.terms" for information on usage and redistribution
  7.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  8.    *
  9. !  * @(#) patchlevel.h 1.7 95/06/30 11:18:45
  10.    */
  11.   
  12. ! #define TK_PATCH_LEVEL "4.0"
  13. --- 17,23 ----
  14.    * See the file "license.terms" for information on usage and redistribution
  15.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  16.    *
  17. !  * @(#) patchlevel.h 1.8 95/07/18 16:23:42
  18.    */
  19.   
  20. ! #define TK_PATCH_LEVEL "4.0p1"
  21. *** ../tk4.0/./tkSend.c    Thu Apr 20 16:27:00 1995
  22. --- ./tkSend.c    Wed Jul 26 17:13:26 1995
  23. ***************
  24. *** 12,18 ****
  25.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  26.    */
  27.   
  28. ! static char sccsid[] = "@(#) tkSend.c 1.48 95/04/20 16:26:59";
  29.   
  30.   #include "tkPort.h"
  31.   #include "tkInt.h"
  32. --- 12,18 ----
  33.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  34.    */
  35.   
  36. ! static char sccsid[] = "@(#) tkSend.c 1.49 95/07/26 17:13:25";
  37.   
  38.   #include "tkPort.h"
  39.   #include "tkInt.h"
  40. ***************
  41. *** 1771,1777 ****
  42.       ckfree((char *) riPtr->name);
  43.       riPtr->interp = NULL;
  44.       UpdateCommWindow(riPtr->dispPtr);
  45. !     Tk_EventuallyFree((ClientData) riPtr, free);
  46.   }
  47.   
  48.   /*
  49. --- 1771,1777 ----
  50.       ckfree((char *) riPtr->name);
  51.       riPtr->interp = NULL;
  52.       UpdateCommWindow(riPtr->dispPtr);
  53. !     Tk_EventuallyFree((ClientData) riPtr, (Tk_FreeProc *) free);
  54.   }
  55.   
  56.   /*
  57. *** ../tk4.0/./tkUnix.c    Sat Jun 24 17:14:32 1995
  58. --- ./tkUnix.c    Fri Jun 30 14:59:41 1995
  59. ***************
  60. *** 11,17 ****
  61.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  62.    */
  63.   
  64. ! static char sccsid[] = "%Z% %M% %I% %E% %U%";
  65.   
  66.   #include <tkInt.h>
  67.   
  68. --- 11,17 ----
  69.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  70.    */
  71.   
  72. ! static char sccsid[] = "@(#) tkUnix.c 1.1 95/06/30 14:59:42";
  73.   
  74.   #include <tkInt.h>
  75.   
  76. *** ../tk4.0/./tkWm.c    Wed Jun 28 17:38:54 1995
  77. --- ./tkWm.c    Sat Jul 22 16:04:58 1995
  78. ***************
  79. *** 13,19 ****
  80.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  81.    */
  82.   
  83. ! static char sccsid[] = "@(#) tkWm.c 1.105 95/06/28 17:38:53";
  84.   
  85.   #include "tkPort.h"
  86.   #include "tkInt.h"
  87. --- 13,19 ----
  88.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  89.    */
  90.   
  91. ! static char sccsid[] = "@(#) tkWm.c 1.107 95/07/22 16:04:57";
  92.   
  93.   #include "tkPort.h"
  94.   #include "tkInt.h"
  95. ***************
  96. *** 3575,3589 ****
  97.        *     toplevels themselves aren't siblings).
  98.        * The only solution I can see is to switch to using the window
  99.        * itself instead of its frame, if there's no sibling, but use
  100. !      * the frames if there's a sibling.  This means that raising
  101.        * relative to a sibling won't work under olvwm.
  102.        */
  103.   
  104. -     if (!(mask & CWSibling)) {
  105. -     window = winPtr->window;
  106. -     }
  107.       serial = NextRequest(winPtr->display);
  108. !     XConfigureWindow(winPtr->display, window, mask, &changes);
  109.   
  110.       /*
  111.        * Wait for the reconfiguration to complete.  If we don't wait, then
  112. --- 3575,3587 ----
  113.        *     toplevels themselves aren't siblings).
  114.        * The only solution I can see is to switch to using the window
  115.        * itself instead of its frame, if there's no sibling, but use
  116. !      * the frame if there's a sibling.  This means that raising
  117.        * relative to a sibling won't work under olvwm.
  118.        */
  119.   
  120.       serial = NextRequest(winPtr->display);
  121. !     XConfigureWindow(winPtr->display,
  122. !         (mask & CWSibling) ? window : winPtr->window, mask, &changes);
  123.   
  124.       /*
  125.        * Wait for the reconfiguration to complete.  If we don't wait, then
  126. *** ../tk4.0/./tkButton.c    Fri Jun  9 08:20:07 1995
  127. --- ./tkButton.c    Sat Jul 22 16:05:26 1995
  128. ***************
  129. *** 13,19 ****
  130.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  131.    */
  132.   
  133. ! static char sccsid[] = "@(#) tkButton.c 1.119 95/06/09 08:19:59";
  134.   
  135.   #include "default.h"
  136.   #include "tkPort.h"
  137. --- 13,19 ----
  138.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  139.    */
  140.   
  141. ! static char sccsid[] = "@(#) tkButton.c 1.120 95/07/22 16:05:25";
  142.   
  143.   #include "default.h"
  144.   #include "tkPort.h"
  145. ***************
  146. *** 1690,1696 ****
  147.       if (flags & TCL_TRACE_UNSETS) {
  148.       butPtr->flags &= ~SELECTED;
  149.       if ((flags & TCL_TRACE_DESTROYED) && !(flags & TCL_INTERP_DESTROYED)) {
  150. !         Tcl_TraceVar2(interp, name1, name2,
  151.               TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
  152.               ButtonVarProc, clientData);
  153.       }
  154. --- 1690,1696 ----
  155.       if (flags & TCL_TRACE_UNSETS) {
  156.       butPtr->flags &= ~SELECTED;
  157.       if ((flags & TCL_TRACE_DESTROYED) && !(flags & TCL_INTERP_DESTROYED)) {
  158. !         Tcl_TraceVar(interp, butPtr->selVarName,
  159.               TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
  160.               ButtonVarProc, clientData);
  161.       }
  162. ***************
  163. *** 1702,1708 ****
  164.        * the button.
  165.        */
  166.   
  167. !     value = Tcl_GetVar2(interp, name1, name2, flags & TCL_GLOBAL_ONLY);
  168.       if (strcmp(value, butPtr->onValue) == 0) {
  169.       if (butPtr->flags & SELECTED) {
  170.           return (char *) NULL;
  171. --- 1702,1711 ----
  172.        * the button.
  173.        */
  174.   
  175. !     value = Tcl_GetVar(interp, butPtr->selVarName, TCL_GLOBAL_ONLY);
  176. !     if (value == NULL) {
  177. !     value = "";
  178. !     }
  179.       if (strcmp(value, butPtr->onValue) == 0) {
  180.       if (butPtr->flags & SELECTED) {
  181.           return (char *) NULL;
  182. *** ../tk4.0/./tkListbox.c    Fri Jun 23 08:46:15 1995
  183. --- ./tkListbox.c    Tue Jul 25 12:50:15 1995
  184. ***************
  185. *** 12,18 ****
  186.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  187.    */
  188.   
  189. ! static char sccsid[] = "@(#) tkListbox.c 1.96 95/06/23 08:46:14";
  190.   
  191.   #include "tkPort.h"
  192.   #include "default.h"
  193. --- 12,18 ----
  194.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  195.    */
  196.   
  197. ! static char sccsid[] = "@(#) tkListbox.c 1.97 95/07/25 12:50:13";
  198.   
  199.   #include "tkPort.h"
  200.   #include "default.h"
  201. ***************
  202. *** 491,497 ****
  203.           i++, elPtr = elPtr->nextPtr) {
  204.           /* Empty loop body. */
  205.       }
  206. !     if ((index >= listPtr->topIndex)
  207.               && (index < (listPtr->topIndex + listPtr->fullLines
  208.               + listPtr->partialLine))) {
  209.           x = listPtr->inset - listPtr->xOffset;
  210. --- 491,497 ----
  211.           i++, elPtr = elPtr->nextPtr) {
  212.           /* Empty loop body. */
  213.       }
  214. !     if ((index >= listPtr->topIndex) && (index < listPtr->numElements)
  215.               && (index < (listPtr->topIndex + listPtr->fullLines
  216.               + listPtr->partialLine))) {
  217.           x = listPtr->inset - listPtr->xOffset;
  218. *** ../tk4.0/./tkMenu.c    Sun Jun 25 16:11:07 1995
  219. --- ./tkMenu.c    Sat Jul 22 16:05:26 1995
  220. ***************
  221. *** 13,19 ****
  222.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  223.    */
  224.   
  225. ! static char sccsid[] = "@(#) tkMenu.c 1.92 95/06/25 16:11:06";
  226.   
  227.   #include "tkPort.h"
  228.   #include "default.h"
  229. --- 13,19 ----
  230.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  231.    */
  232.   
  233. ! static char sccsid[] = "@(#) tkMenu.c 1.93 95/07/22 16:05:23";
  234.   
  235.   #include "tkPort.h"
  236.   #include "default.h"
  237. ***************
  238. *** 2368,2373 ****
  239. --- 2368,2376 ----
  240.        */
  241.   
  242.       value = Tcl_GetVar(interp, mePtr->name, TCL_GLOBAL_ONLY);
  243. +     if (value == NULL) {
  244. +     value = "";
  245. +     }
  246.       if (strcmp(value, mePtr->onValue) == 0) {
  247.       if (mePtr->flags & ENTRY_SELECTED) {
  248.           return (char *) NULL;
  249. *** ../tk4.0/./tkCanvas.c    Tue Jun 20 14:26:15 1995
  250. --- ./tkCanvas.c    Thu Jul 27 13:23:50 1995
  251. ***************
  252. *** 12,18 ****
  253.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  254.    */
  255.   
  256. ! static char sccsid[] = "@(#) tkCanvas.c 1.98 95/06/20 14:26:12";
  257.   
  258.   #include "default.h"
  259.   #include "tkInt.h"
  260. --- 12,18 ----
  261.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  262.    */
  263.   
  264. ! static char sccsid[] = "@(#) tkCanvas.c 1.101 95/07/27 13:23:48";
  265.   
  266.   #include "default.h"
  267.   #include "tkInt.h"
  268. ***************
  269. *** 1726,1732 ****
  270.       borders:
  271.       if (canvasPtr->flags & REDRAW_BORDERS) {
  272.       canvasPtr->flags &= ~REDRAW_BORDERS;
  273. !     if (canvasPtr->relief != TK_RELIEF_FLAT) {
  274.           Tk_Draw3DRectangle(tkwin, Tk_WindowId(tkwin),
  275.               canvasPtr->bgBorder, canvasPtr->highlightWidth,
  276.               canvasPtr->highlightWidth,
  277. --- 1726,1732 ----
  278.       borders:
  279.       if (canvasPtr->flags & REDRAW_BORDERS) {
  280.       canvasPtr->flags &= ~REDRAW_BORDERS;
  281. !     if (canvasPtr->borderWidth > 0) {
  282.           Tk_Draw3DRectangle(tkwin, Tk_WindowId(tkwin),
  283.               canvasPtr->bgBorder, canvasPtr->highlightWidth,
  284.               canvasPtr->highlightWidth,
  285. ***************
  286. *** 1791,1800 ****
  287.       Tk_CanvasEventuallyRedraw((Tk_Canvas) canvasPtr, x, y,
  288.           x + eventPtr->xexpose.width,
  289.           y + eventPtr->xexpose.height);
  290. !     if ((x < canvasPtr->inset) || (y < canvasPtr->inset)
  291. !         || ((x + eventPtr->xexpose.width)
  292.               > (Tk_Width(canvasPtr->tkwin) - canvasPtr->inset))
  293. !         || ((y + eventPtr->xexpose.height)
  294.               > (Tk_Height(canvasPtr->tkwin) - canvasPtr->inset))) {
  295.           canvasPtr->flags |= REDRAW_BORDERS;
  296.       }
  297. --- 1791,1801 ----
  298.       Tk_CanvasEventuallyRedraw((Tk_Canvas) canvasPtr, x, y,
  299.           x + eventPtr->xexpose.width,
  300.           y + eventPtr->xexpose.height);
  301. !     if ((eventPtr->xexpose.x < canvasPtr->inset)
  302. !         || (eventPtr->xexpose.y < canvasPtr->inset)
  303. !         || ((eventPtr->xexpose.x + eventPtr->xexpose.width)
  304.               > (Tk_Width(canvasPtr->tkwin) - canvasPtr->inset))
  305. !         || ((eventPtr->xexpose.y + eventPtr->xexpose.height)
  306.               > (Tk_Height(canvasPtr->tkwin) - canvasPtr->inset))) {
  307.           canvasPtr->flags |= REDRAW_BORDERS;
  308.       }
  309. ***************
  310. *** 1818,1825 ****
  311.        */
  312.   
  313.       CanvasSetOrigin(canvasPtr, canvasPtr->xOrigin, canvasPtr->yOrigin);
  314. !     Tk_CanvasEventuallyRedraw((Tk_Canvas) canvasPtr, 0, 0,
  315. !         Tk_Width(canvasPtr->tkwin), Tk_Height(canvasPtr->tkwin));
  316.       canvasPtr->flags |= REDRAW_BORDERS;
  317.       } else if (eventPtr->type == FocusIn) {
  318.       if (eventPtr->xfocus.detail != NotifyInferior) {
  319. --- 1819,1828 ----
  320.        */
  321.   
  322.       CanvasSetOrigin(canvasPtr, canvasPtr->xOrigin, canvasPtr->yOrigin);
  323. !     Tk_CanvasEventuallyRedraw((Tk_Canvas) canvasPtr, canvasPtr->xOrigin,
  324. !         canvasPtr->yOrigin,
  325. !         canvasPtr->xOrigin + Tk_Width(canvasPtr->tkwin),
  326. !         canvasPtr->yOrigin + Tk_Height(canvasPtr->tkwin));
  327.       canvasPtr->flags |= REDRAW_BORDERS;
  328.       } else if (eventPtr->type == FocusIn) {
  329.       if (eventPtr->xfocus.detail != NotifyInferior) {
  330. ***************
  331. *** 3476,3482 ****
  332.   
  333.       range = object2 - object1;
  334.       if (range <= 0) {
  335. !     f1 = f2 = 1.0;
  336.       } else {
  337.       f1 = (screen1 - object1)/range;
  338.       if (f1 < 0) {
  339. --- 3479,3486 ----
  340.   
  341.       range = object2 - object1;
  342.       if (range <= 0) {
  343. !     f1 = 0;
  344. !     f2 = 1.0;
  345.       } else {
  346.       f1 = (screen1 - object1)/range;
  347.       if (f1 < 0) {
  348. *** ../tk4.0/./tkImgFmtPPM.c    Wed Jun 14 22:49:55 1995
  349. --- ./tkImgFmtPPM.c    Wed Jul 26 12:57:37 1995
  350. ***************
  351. *** 14,20 ****
  352.    *       Australian National University.
  353.    */
  354.   
  355. ! static char sccsid[] = "@(#) tkImgFmtPPM.c 1.7 95/06/14 22:49:55";
  356.   
  357.   #include "tkInt.h"
  358.   #include "tkPort.h"
  359. --- 14,20 ----
  360.    *       Australian National University.
  361.    */
  362.   
  363. ! static char sccsid[] = "@(#) tkImgFmtPPM.c 1.8 95/07/26 12:57:36";
  364.   
  365.   #include "tkInt.h"
  366.   #include "tkPort.h"
  367. ***************
  368. *** 63,69 ****
  369.    */
  370.   
  371.   static int        ReadPPMFileHeader _ANSI_ARGS_((FILE *f, int *widthPtr,
  372. !                 int *heightPtr));
  373.   
  374.   /*
  375.    *----------------------------------------------------------------------
  376. --- 63,69 ----
  377.    */
  378.   
  379.   static int        ReadPPMFileHeader _ANSI_ARGS_((FILE *f, int *widthPtr,
  380. !                 int *heightPtr, int *maxIntensityPtr));
  381.   
  382.   /*
  383.    *----------------------------------------------------------------------
  384. ***************
  385. *** 92,98 ****
  386.                    * returned here if the file is a valid
  387.                    * raw PPM file. */
  388.   {
  389. !     return ReadPPMFileHeader(f, widthPtr, heightPtr);
  390.   }
  391.   
  392.   /*
  393. --- 92,100 ----
  394.                    * returned here if the file is a valid
  395.                    * raw PPM file. */
  396.   {
  397. !     int dummy;
  398. !     return ReadPPMFileHeader(f, widthPtr, heightPtr, &dummy);
  399.   }
  400.   
  401.   /*
  402. ***************
  403. *** 130,141 ****
  404.       int srcX, srcY;        /* Coordinates of top-left pixel to be used
  405.                    * in image being read. */
  406.   {
  407. !     int fileWidth, fileHeight;
  408.       int nLines, nBytes, h, type, count;
  409.       unsigned char *pixelPtr;
  410.       Tk_PhotoImageBlock block;
  411.   
  412. !     type = ReadPPMFileHeader(f, &fileWidth, &fileHeight);
  413.       if (type == 0) {
  414.       Tcl_AppendResult(interp, "couldn't read raw PPM header from file \"",
  415.           fileName, "\"", NULL);
  416. --- 132,143 ----
  417.       int srcX, srcY;        /* Coordinates of top-left pixel to be used
  418.                    * in image being read. */
  419.   {
  420. !     int fileWidth, fileHeight, maxIntensity;
  421.       int nLines, nBytes, h, type, count;
  422.       unsigned char *pixelPtr;
  423.       Tk_PhotoImageBlock block;
  424.   
  425. !     type = ReadPPMFileHeader(f, &fileWidth, &fileHeight, &maxIntensity);
  426.       if (type == 0) {
  427.       Tcl_AppendResult(interp, "couldn't read raw PPM header from file \"",
  428.           fileName, "\"", NULL);
  429. ***************
  430. *** 146,152 ****
  431. --- 148,163 ----
  432.           "\" has dimension(s) <= 0", (char *) NULL);
  433.       return TCL_ERROR;
  434.       }
  435. +     if ((maxIntensity <= 0) || (maxIntensity >= 256)) {
  436. +     char buffer[30];
  437.   
  438. +     sprintf(buffer, "%d", maxIntensity);
  439. +     Tcl_AppendResult(interp, "PPM image file \"", fileName,
  440. +         "\" has bad maximum intensity value ", buffer,
  441. +         (char *) NULL);
  442. +     return TCL_ERROR;
  443. +     }
  444.       if ((srcX + width) > fileWidth) {
  445.       width = fileWidth - srcX;
  446.       }
  447. ***************
  448. *** 204,209 ****
  449. --- 215,227 ----
  450.           ckfree((char *) pixelPtr);
  451.           return TCL_ERROR;
  452.       }
  453. +     if (maxIntensity != 255) {
  454. +         unsigned char *p;
  455. +         for (p = pixelPtr; count > 0; count--, p++) {
  456. +         *p = (((int) *p) * 255)/maxIntensity;
  457. +         }
  458. +     }
  459.       block.height = nLines;
  460.       Tk_PhotoPutBlock(imageHandle, &block, destX, destY, width, nLines);
  461.       destY += nLines;
  462. ***************
  463. *** 296,302 ****
  464.    * ReadPPMFileHeader --
  465.    *
  466.    *    This procedure reads the PPM header from the beginning of a
  467. !  *    PPM file and returns the dimensions of the image.
  468.    *
  469.    * Results:
  470.    *    The return value is PGM if file "f" appears to start with
  471. --- 314,320 ----
  472.    * ReadPPMFileHeader --
  473.    *
  474.    *    This procedure reads the PPM header from the beginning of a
  475. !  *    PPM file and returns information from the header.
  476.    *
  477.    * Results:
  478.    *    The return value is PGM if file "f" appears to start with
  479. ***************
  480. *** 303,309 ****
  481.    *    a valid PGM header, PPM if "f" appears to start with a valid
  482.    *      PPM header, and 0 otherwise.  If the header is valid,
  483.    *    then *widthPtr and *heightPtr are modified to hold the
  484. !  *    dimensions of the image.
  485.    *
  486.    * Side effects:
  487.    *    The access position in f advances.
  488. --- 321,328 ----
  489.    *    a valid PGM header, PPM if "f" appears to start with a valid
  490.    *      PPM header, and 0 otherwise.  If the header is valid,
  491.    *    then *widthPtr and *heightPtr are modified to hold the
  492. !  *    dimensions of the image and *maxIntensityPtr is modified to
  493. !  *    hold the value of a "fully on" intensity value.
  494.    *
  495.    * Side effects:
  496.    *    The access position in f advances.
  497. ***************
  498. *** 312,323 ****
  499.    */
  500.   
  501.   static int
  502. ! ReadPPMFileHeader(f, widthPtr, heightPtr)
  503.       FILE *f;            /* Image file to read the header from */
  504.       int *widthPtr, *heightPtr;    /* The dimensions of the image are
  505.                    * returned here. */
  506.   {
  507. -     int maxPixel;
  508.   #define BUFFER_SIZE 1000
  509.       char buffer[BUFFER_SIZE];
  510.       int i, numFields, firstInLine, c;
  511. --- 331,343 ----
  512.    */
  513.   
  514.   static int
  515. ! ReadPPMFileHeader(f, widthPtr, heightPtr, maxIntensityPtr)
  516.       FILE *f;            /* Image file to read the header from */
  517.       int *widthPtr, *heightPtr;    /* The dimensions of the image are
  518.                    * returned here. */
  519. +     int *maxIntensityPtr;    /* The maximum intensity value for
  520. +                  * the image is stored here. */
  521.   {
  522.   #define BUFFER_SIZE 1000
  523.       char buffer[BUFFER_SIZE];
  524.       int i, numFields, firstInLine, c;
  525. ***************
  526. *** 368,374 ****
  527.       buffer[i] = 0;
  528.   
  529.       /*
  530. !      * Parse the fields, which are: id, width, height, maxPixel.
  531.        */
  532.   
  533.       if (strncmp(buffer, "P6 ", 3) == 0) {
  534. --- 388,394 ----
  535.       buffer[i] = 0;
  536.   
  537.       /*
  538. !      * Parse the fields, which are: id, width, height, maxIntensity.
  539.        */
  540.   
  541.       if (strncmp(buffer, "P6 ", 3) == 0) {
  542. ***************
  543. *** 378,387 ****
  544.       } else {
  545.       return 0;
  546.       }
  547. !     if (sscanf(buffer+3, "%d %d %d", widthPtr, heightPtr, &maxPixel) != 3) {
  548. !     return 0;
  549. !     }
  550. !     if (maxPixel != 255) {
  551.       return 0;
  552.       }
  553.       return type;
  554. --- 398,405 ----
  555.       } else {
  556.       return 0;
  557.       }
  558. !     if (sscanf(buffer+3, "%d %d %d", widthPtr, heightPtr, maxIntensityPtr)
  559. !         != 3) {
  560.       return 0;
  561.       }
  562.       return type;
  563. *** ../tk4.0/./tkImgPhoto.c    Wed Jun 21 15:47:02 1995
  564. --- ./tkImgPhoto.c    Tue Jul 25 15:55:28 1995
  565. ***************
  566. *** 16,22 ****
  567.    *       Australian National University.
  568.    */
  569.   
  570. ! static char sccsid[] = "@(#) tkImgPhoto.c 1.25 95/06/21 15:46:57";
  571.   
  572.   #include "tkInt.h"
  573.   #include "tkPort.h"
  574. --- 16,22 ----
  575.    *       Australian National University.
  576.    */
  577.   
  578. ! static char sccsid[] = "@(#) tkImgPhoto.c 1.27 95/07/25 15:55:25";
  579.   
  580.   #include "tkInt.h"
  581.   #include "tkPort.h"
  582. ***************
  583. *** 2128,2134 ****
  584.       PhotoMaster *masterPtr;
  585.       schar *newError;
  586.       schar *errSrcPtr, *errDestPtr;
  587. !     int h, offset, pitch;
  588.       XRectangle validBox;
  589.       Pixmap newPixmap;
  590.   
  591. --- 2128,2134 ----
  592.       PhotoMaster *masterPtr;
  593.       schar *newError;
  594.       schar *errSrcPtr, *errDestPtr;
  595. !     int h, offset;
  596.       XRectangle validBox;
  597.       Pixmap newPixmap;
  598.   
  599. ***************
  600. *** 2161,2168 ****
  601.           || (instancePtr->height != masterPtr->height)
  602.           || (instancePtr->error == NULL)) {
  603.   
  604. !     pitch = masterPtr->width * sizeof(schar) * 3;
  605. !     newError = (schar *) ckalloc((unsigned) (masterPtr->height * pitch));
  606.   
  607.       /*
  608.        * Zero the new array so that we don't get bogus error values
  609. --- 2161,2168 ----
  610.           || (instancePtr->height != masterPtr->height)
  611.           || (instancePtr->error == NULL)) {
  612.   
  613. !     newError = (schar *) ckalloc((unsigned)
  614. !         (masterPtr->height * masterPtr->width * 3 * sizeof(schar)));
  615.   
  616.       /*
  617.        * Zero the new array so that we don't get bogus error values
  618. ***************
  619. *** 2173,2187 ****
  620.           && ((instancePtr->width == masterPtr->width)
  621.           || (validBox.width == masterPtr->width))) {
  622.           if (validBox.y > 0) {
  623. !         memset((VOID *) newError, 0, (size_t) (validBox.y * pitch));
  624.           }
  625.           h = validBox.y + validBox.height;
  626.           if (h < masterPtr->height) {
  627. !         memset((VOID *) (newError + h * pitch), 0,
  628. !             (size_t) ((masterPtr->height - h) * pitch));
  629.           }
  630.       } else {
  631. !         memset((VOID *) newError, 0, (size_t) (masterPtr->height * pitch));
  632.       }
  633.   
  634.       if (instancePtr->error != NULL) {
  635. --- 2173,2190 ----
  636.           && ((instancePtr->width == masterPtr->width)
  637.           || (validBox.width == masterPtr->width))) {
  638.           if (validBox.y > 0) {
  639. !         memset((VOID *) newError, 0, (size_t)
  640. !             (validBox.y * masterPtr->width * 3 * sizeof(schar)));
  641.           }
  642.           h = validBox.y + validBox.height;
  643.           if (h < masterPtr->height) {
  644. !         memset((VOID *) (newError + h * masterPtr->width * 3), 0,
  645. !             (size_t) ((masterPtr->height - h)
  646. !                 * masterPtr->width * 3 * sizeof(schar)));
  647.           }
  648.       } else {
  649. !         memset((VOID *) newError, 0, (size_t)
  650. !             (masterPtr->height * masterPtr->width * 3 * sizeof(schar)));
  651.       }
  652.   
  653.       if (instancePtr->error != NULL) {
  654. ***************
  655. *** 2193,2215 ****
  656.   
  657.           if (masterPtr->width == instancePtr->width) {
  658.   
  659. !         offset = validBox.y * pitch;
  660.           memcpy((VOID *) (newError + offset),
  661.               (VOID *) (instancePtr->error + offset),
  662. !             (size_t) (validBox.height * pitch));
  663.   
  664.           } else if (validBox.width > 0 && validBox.height > 0) {
  665.   
  666.           errDestPtr = newError
  667. !             + validBox.y * pitch + validBox.x * 3 * sizeof(schar);
  668.           errSrcPtr = instancePtr->error
  669. !             + (validBox.y * instancePtr->width + validBox.x)
  670. !             * 3 * sizeof(schar);
  671.           for (h = validBox.height; h > 0; --h) {
  672.               memcpy((VOID *) errDestPtr, (VOID *) errSrcPtr,
  673.                   validBox.width * 3 * sizeof(schar));
  674. !             errDestPtr += masterPtr->width * 3 * sizeof(schar);
  675. !             errSrcPtr += instancePtr->width * 3 * sizeof(schar);
  676.           }
  677.           }
  678.           ckfree((char *) instancePtr->error);
  679. --- 2196,2218 ----
  680.   
  681.           if (masterPtr->width == instancePtr->width) {
  682.   
  683. !         offset = validBox.y * masterPtr->width * 3;
  684.           memcpy((VOID *) (newError + offset),
  685.               (VOID *) (instancePtr->error + offset),
  686. !             (size_t) (validBox.height
  687. !             * masterPtr->width * 3 * sizeof(schar)));
  688.   
  689.           } else if (validBox.width > 0 && validBox.height > 0) {
  690.   
  691.           errDestPtr = newError
  692. !             + (validBox.y * masterPtr->width + validBox.x) * 3;
  693.           errSrcPtr = instancePtr->error
  694. !             + (validBox.y * instancePtr->width + validBox.x) * 3;
  695.           for (h = validBox.height; h > 0; --h) {
  696.               memcpy((VOID *) errDestPtr, (VOID *) errSrcPtr,
  697.                   validBox.width * 3 * sizeof(schar));
  698. !             errDestPtr += masterPtr->width * 3;
  699. !             errSrcPtr += instancePtr->width * 3;
  700.           }
  701.           }
  702.           ckfree((char *) instancePtr->error);
  703. ***************
  704. *** 2399,2404 ****
  705. --- 2402,2419 ----
  706.        */
  707.   
  708.       colorPtr = (ColorTable *) ckalloc(sizeof(ColorTable));
  709. +     /*
  710. +      * The following line of code should not normally be needed due
  711. +      * to the assignment in the following line.  However, it compensates
  712. +      * for bugs in some compilers (HP, for example) where
  713. +      * sizeof(ColorTable) is 24 but the assignment only copies 20 bytes,
  714. +      * leaving 4 bytes uninitialized;  these cause problems when using
  715. +      * the id for lookups in imgPhotoColorHash, and can result in
  716. +      * core dumps.
  717. +      */
  718. +     memset((VOID *) &colorPtr->id, 0, sizeof(ColorTableId));
  719.       colorPtr->id = id;
  720.       colorPtr->flags = 0;
  721.       colorPtr->refCount = 0;
  722. *** ../tk4.0/./tkText.c    Wed Jun 28 17:19:33 1995
  723. --- ./tkText.c    Thu Jul 20 09:42:41 1995
  724. ***************
  725. *** 14,20 ****
  726.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  727.    */
  728.   
  729. ! static char sccsid[] = "@(#) tkText.c 1.79 95/06/28 17:19:32";
  730.   
  731.   #include "default.h"
  732.   #include "tkPort.h"
  733. --- 14,20 ----
  734.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  735.    */
  736.   
  737. ! static char sccsid[] = "@(#) tkText.c 1.80 95/07/20 09:42:42";
  738.   
  739.   #include "default.h"
  740.   #include "tkPort.h"
  741. ***************
  742. *** 1632,1659 ****
  743.       firstChar = 0;
  744.       lastChar = INT_MAX;
  745.       if (lineNum == startingLine) {
  746.           /*
  747.            * The starting line is tricky: the first time we see it
  748.            * we check one part of the line, and the second pass through
  749. !          * we check the other part of the line.
  750.            */
  751.   
  752.           passes++;
  753. !         if (passes == 1) {
  754. !         if (backwards) {
  755. !             lastChar = startingChar;
  756. !         } else {
  757. !             firstChar = startingChar;
  758. !             if (firstChar >= Tcl_DStringLength(&line)) {
  759. !             goto nextLine;
  760. !             }
  761.           }
  762.           } else {
  763. !         if (backwards) {
  764. !             firstChar = startingChar;
  765. !         } else {
  766. !             lastChar = startingChar;
  767. !         }
  768.           }
  769.       }
  770.       do {
  771. --- 1632,1674 ----
  772.       firstChar = 0;
  773.       lastChar = INT_MAX;
  774.       if (lineNum == startingLine) {
  775. +         int indexInDString;
  776.           /*
  777.            * The starting line is tricky: the first time we see it
  778.            * we check one part of the line, and the second pass through
  779. !          * we check the other part of the line.  We have to be very
  780. !          * careful here because there could be embedded windows or
  781. !          * other things that are not in the extracted line.  Rescan
  782. !          * the original line to compute the index in it of the first
  783. !          * character.
  784.            */
  785.   
  786. +         indexInDString = startingChar;
  787. +         for (segPtr = linePtr->segPtr, leftToScan = startingChar;
  788. +             leftToScan > 0; segPtr = segPtr->nextPtr) {
  789. +         if (segPtr->typePtr != &tkTextCharType) {
  790. +             indexInDString -= segPtr->size;
  791. +         }
  792. +         leftToScan -= segPtr->size;
  793. +         }
  794.           passes++;
  795. !         if ((passes == 1) ^ backwards) {
  796. !         /*
  797. !          * Only use the last part of the line.
  798. !          */
  799. !         firstChar = indexInDString;
  800. !         if (firstChar >= Tcl_DStringLength(&line)) {
  801. !             goto nextLine;
  802.           }
  803.           } else {
  804. !         /*
  805. !          * Use only the first part of the line.
  806. !          */
  807. !         lastChar = indexInDString;
  808.           }
  809.       }
  810.       do {
  811. *** ../tk4.0/./tkTextBTree.c    Tue Jan  3 17:06:50 1995
  812. --- ./tkTextBTree.c    Fri Jul 28 10:07:06 1995
  813. ***************
  814. *** 12,18 ****
  815.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  816.    */
  817.   
  818. ! static char sccsid[] = "@(#) tkTextBTree.c 1.25 95/01/03 17:06:15";
  819.   
  820.   #include "tkInt.h"
  821.   #include "tkPort.h"
  822. --- 12,18 ----
  823.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  824.    */
  825.   
  826. ! static char sccsid[] = "@(#) tkTextBTree.c 1.26 95/07/28 10:07:03";
  827.   
  828.   #include "tkInt.h"
  829.   #include "tkPort.h"
  830. ***************
  831. *** 715,721 ****
  832.               prevNodePtr->nextPtr = curNodePtr->nextPtr;
  833.           }
  834.           parentPtr->numChildren--;
  835. -         DeleteSummaries(curNodePtr->summaryPtr);
  836.           ckfree((char *) curNodePtr);
  837.           curNodePtr = parentPtr;
  838.           }
  839. --- 715,720 ----
  840. *** ../tk4.0/./tkTextDisp.c    Wed Jun 28 15:06:53 1995
  841. --- ./tkTextDisp.c    Sat Jul 22 17:17:20 1995
  842. ***************
  843. *** 12,18 ****
  844.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  845.    */
  846.   
  847. ! static char sccsid[] = "@(#) tkTextDisp.c 1.91 95/06/28 15:06:50";
  848.   
  849.   #include "tkPort.h"
  850.   #include "tkInt.h"
  851. --- 12,18 ----
  852.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  853.    */
  854.   
  855. ! static char sccsid[] = "@(#) tkTextDisp.c 1.92 95/07/22 17:17:18";
  856.   
  857.   #include "tkPort.h"
  858.   #include "tkInt.h"
  859. ***************
  860. *** 2434,2439 ****
  861. --- 2434,2460 ----
  862.       TkTextIndex rounded;
  863.   
  864.       /*
  865. +      * Schedule both a redisplay and a recomputation of display information.
  866. +      * It's done here rather than the end of the procedure for two reasons:
  867. +      *
  868. +      * 1. If there are no display lines to update we'll want to return
  869. +      *    immediately, well before the end of the procedure.
  870. +      * 2. It's important to arrange for the redisplay BEFORE calling
  871. +      *    FreeDLines.  The reason for this is subtle and has to do with
  872. +      *    embedded windows.  The chunk delete procedure for an embedded
  873. +      *    window will schedule an idle handler to unmap the window.
  874. +      *    However, we want the idle handler for redisplay to be called
  875. +      *    first, so that it can put the embedded window back on the screen
  876. +      *    again (if appropriate).  This will prevent the window from ever
  877. +      *    being unmapped, and thereby avoid flashing.
  878. +      */
  879. +     if (!(dInfoPtr->flags & REDRAW_PENDING)) {
  880. +     Tk_DoWhenIdle(DisplayText, (ClientData) textPtr);
  881. +     }
  882. +     dInfoPtr->flags |= REDRAW_PENDING|DINFO_OUT_OF_DATE|REPICK_NEEDED;
  883. +     /*
  884.        * Find the DLines corresponding to index1Ptr and index2Ptr.  There
  885.        * is one tricky thing here, which is that we have to relayout in
  886.        * units of whole text lines:  round index1Ptr back to the beginning
  887. ***************
  888. *** 2454,2475 ****
  889.           && (lastPtr->index.linePtr == index2Ptr->linePtr)) {
  890.       lastPtr = lastPtr->nextPtr;
  891.       }
  892. -     /*
  893. -      * Schedule both a redisplay and a recomputation of display information.
  894. -      * It's important to do this BEFORE calling FreeDLines.  The reason for
  895. -      * this is subtle and has to do with embedded windows.  The chunk delete
  896. -      * procedure for an embedded window will schedule an idle handler to
  897. -      * unmap the window.  However, we want the idle handler for redisplay
  898. -      * to be called first, so that it can put the embedded window back on
  899. -      * the screen again (if appropriate).  This will prevent the window from
  900. -      * ever being unmapped, and thereby avoid flashing.
  901. -      */
  902. -     if (!(dInfoPtr->flags & REDRAW_PENDING)) {
  903. -     Tk_DoWhenIdle(DisplayText, (ClientData) textPtr);
  904. -     }
  905. -     dInfoPtr->flags |= REDRAW_PENDING|DINFO_OUT_OF_DATE|REPICK_NEEDED;
  906.   
  907.       /*
  908.        * Delete all the DLines from firstPtr up to but not including lastPtr.
  909. --- 2475,2480 ----
  910. *** ../tk4.0/./tkText.h    Mon Apr 17 14:51:52 1995
  911. --- ./tkText.h    Sat Jul 22 16:05:45 1995
  912. ***************
  913. *** 10,16 ****
  914.    * See the file "license.terms" for information on usage and redistribution
  915.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  916.    *
  917. !  * @(#) tkText.h 1.35 95/04/17 14:51:44
  918.    */
  919.   
  920.   #ifndef _TKTEXT
  921. --- 10,16 ----
  922.    * See the file "license.terms" for information on usage and redistribution
  923.    * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  924.    *
  925. !  * @(#) tkText.h 1.36 95/07/22 16:05:44
  926.    */
  927.   
  928.   #ifndef _TKTEXT
  929. ***************
  930. *** 634,642 ****
  931.       Tk_SegLineChangeProc *lineChangeProc;
  932.                       /* Invoked when a segment is about
  933.                        * to be moved from its current line
  934. !                      * to some other line (cleanupProc
  935. !                      * will be called later with the
  936. !                      * new line). */
  937.       Tk_SegLayoutProc *layoutProc;    /* Returns size information when
  938.                        * figuring out what to display in
  939.                        * window. */
  940. --- 634,644 ----
  941.       Tk_SegLineChangeProc *lineChangeProc;
  942.                       /* Invoked when a segment is about
  943.                        * to be moved from its current line
  944. !                      * to an earlier line because of
  945. !                      * a deletion.  The linePtr is that
  946. !                      * for the segment's old line.
  947. !                      * CleanupProc will be invoked after
  948. !                      * the deletion is finished. */
  949.       Tk_SegLayoutProc *layoutProc;    /* Returns size information when
  950.                        * figuring out what to display in
  951.                        * window. */
  952. *** ../tk4.0/./changes    Fri Jun 30 11:18:50 1995
  953. --- ./changes    Fri Jul 28 10:20:44 1995
  954. ***************
  955. *** 2,8 ****
  956.   released on March 13, 1991.  Changes that aren't backward compatible
  957.   are marked specially.
  958.   
  959. ! sccsid = @(#) changes 1.21 95/06/30 11:18:48
  960.   
  961.   3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
  962.   the interpreter when the main window is deleted (otherwise there will
  963. --- 2,8 ----
  964.   released on March 13, 1991.  Changes that aren't backward compatible
  965.   are marked specially.
  966.   
  967. ! sccsid = %Z% %M% %I% %E% %U%
  968.   
  969.   3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
  970.   the interpreter when the main window is deleted (otherwise there will
  971. ***************
  972. *** 2404,2406 ****
  973. --- 2404,2455 ----
  974.   slider.
  975.   
  976.   -------------------- Release 4.0, 7/1/95 -------------------------
  977. + 7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to
  978. + "exec wish4.0" to avoid version conflicts.
  979. + 7/19/95 (bug fix) Fixed bug where 2-second delays were ocurring during
  980. + "raise" and "lower" commands for toplevel windows under some window
  981. + managers (such as fvwm).
  982. + 7/20/95 (bug fix) Text searches were misbehaving when there were embedded
  983. + windows on the starting line of the search.  The most common symptom is
  984. + that Tk would fail to find a match at the starting position for the
  985. + search.
  986. + 7/20/95 (bug fix) Fixed a couple of bugs in canvases that caused them
  987. + not to refresh properly in some cases (e.g. old borders were not properly
  988. + erased or redrawn after some resizes).
  989. + 7/22/95 (bug fix) Fixed core dump that could occur in menus if a checkbutton
  990. + entry's -variable option referred to an array (or couldn't be read
  991. + by the menu C code for some other reason).
  992. + 7/22/95 (bug fix) Text widgets didn't update their scrollbars when
  993. + changes were made to information that was off-screen.
  994. + 7/25/95 (bug fix) Fixed core-dump in tkListbox.c that used to happen
  995. + in the command ".l bbox end" if the listbox was empty.
  996. + 7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't
  997. + move active element to remain on the screen.
  998. + 7/25/95 (bug fix) Fixed bug in tkImgPhoto.c that caused core dumps
  999. + (during Tk self-tests and other image uses) on AIX and other machines
  1000. + where "schar" in tkImgPhoto.c was being defined as "short" instead of
  1001. + "char".
  1002. + 7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity
  1003. + values other than 255.
  1004. + 7/26/95 (bug fix) Canvases didn't redraw their borders when the relief
  1005. + changed from raised to flat.
  1006. + 7/27/95 (bug fix) Canvases didn't set the scrolling values correctly
  1007. + when no scroll region was specified.
  1008. + 7/28/95 (bug fix) Modified menu and tk_dialog scripts to restore any
  1009. + old grab that might have been in effect before a menu or dialog was
  1010. + posted.
  1011. + ----------------- Released patch 4.0p1, 7/29/95 ----------------------
  1012. *** ../tk4.0/./configure    Thu Jun 29 15:19:01 1995
  1013. --- ./configure    Tue Jul 25 17:30:46 1995
  1014. ***************
  1015. *** 1,7 ****
  1016.   #! /bin/sh
  1017.   
  1018.   # Guess values for system-dependent variables and create Makefiles.
  1019. ! # Generated automatically using autoconf version 2.2 
  1020.   # Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  1021.   #
  1022.   # This configure script is free software; the Free Software Foundation
  1023. --- 1,7 ----
  1024.   #! /bin/sh
  1025.   
  1026.   # Guess values for system-dependent variables and create Makefiles.
  1027. ! # Generated automatically using autoconf version 2.4 
  1028.   # Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  1029.   #
  1030.   # This configure script is free software; the Free Software Foundation
  1031. ***************
  1032. *** 218,224 ****
  1033.       verbose=yes ;;
  1034.   
  1035.     -version | --version | --versio | --versi | --vers)
  1036. !     echo "configure generated by autoconf version 2.2"
  1037.       exit 0 ;;
  1038.   
  1039.     -with-* | --with-*)
  1040. --- 218,224 ----
  1041.       verbose=yes ;;
  1042.   
  1043.     -version | --version | --versio | --versi | --vers)
  1044. !     echo "configure generated by autoconf version 2.4"
  1045.       exit 0 ;;
  1046.   
  1047.     -with-* | --with-*)
  1048. ***************
  1049. *** 384,391 ****
  1050.   ac_ext=c
  1051.   # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  1052.   ac_cpp='$CPP $CPPFLAGS'
  1053. ! ac_compile='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS -c 1>&5 2>&5'
  1054. ! ac_link='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS $LDFLAGS -o conftest $LIBS 1>&5 2>&5'
  1055.   
  1056.   if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  1057.     # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  1058. --- 384,391 ----
  1059.   ac_ext=c
  1060.   # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  1061.   ac_cpp='$CPP $CPPFLAGS'
  1062. ! ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
  1063. ! ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
  1064.   
  1065.   if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  1066.     # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  1067. ***************
  1068. *** 589,596 ****
  1069.   rm -f conftest*
  1070.     ac_cv_prog_CPP="$CPP"
  1071.   fi
  1072.   fi
  1073. - CPP="$ac_cv_prog_CPP"
  1074.   echo "$ac_t""$CPP" 1>&6
  1075.   
  1076.   for ac_hdr in unistd.h limits.h
  1077. --- 589,598 ----
  1078.   rm -f conftest*
  1079.     ac_cv_prog_CPP="$CPP"
  1080.   fi
  1081. +   CPP="$ac_cv_prog_CPP"
  1082. + else
  1083. +   ac_cv_prog_CPP="$CPP"
  1084.   fi
  1085.   echo "$ac_t""$CPP" 1>&6
  1086.   
  1087.   for ac_hdr in unistd.h limits.h
  1088. ***************
  1089. *** 601,607 ****
  1090.     echo $ac_n "(cached) $ac_c" 1>&6
  1091.   else
  1092.     cat > conftest.$ac_ext <<EOF
  1093. ! #line 605 "configure"
  1094.   #include "confdefs.h"
  1095.   #include <$ac_hdr>
  1096.   EOF
  1097. --- 603,609 ----
  1098.     echo $ac_n "(cached) $ac_c" 1>&6
  1099.   else
  1100.     cat > conftest.$ac_ext <<EOF
  1101. ! #line 607 "configure"
  1102.   #include "confdefs.h"
  1103.   #include <$ac_hdr>
  1104.   EOF
  1105. ***************
  1106. *** 619,625 ****
  1107.   fi
  1108.   if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  1109.     echo "$ac_t""yes" 1>&6
  1110. !     ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
  1111.     cat >> confdefs.h <<EOF
  1112.   #define $ac_tr_hdr 1
  1113.   EOF
  1114. --- 621,627 ----
  1115.   fi
  1116.   if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  1117.     echo "$ac_t""yes" 1>&6
  1118. !     ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
  1119.     cat >> confdefs.h <<EOF
  1120.   #define $ac_tr_hdr 1
  1121.   EOF
  1122. ***************
  1123. *** 642,648 ****
  1124.   
  1125.   echo $ac_n "checking fd_set and sys/select""... $ac_c" 1>&6
  1126.   cat > conftest.$ac_ext <<EOF
  1127. ! #line 646 "configure"
  1128.   #include "confdefs.h"
  1129.   #include <sys/types.h>
  1130.   int main() { return 0; }
  1131. --- 644,650 ----
  1132.   
  1133.   echo $ac_n "checking fd_set and sys/select""... $ac_c" 1>&6
  1134.   cat > conftest.$ac_ext <<EOF
  1135. ! #line 648 "configure"
  1136.   #include "confdefs.h"
  1137.   #include <sys/types.h>
  1138.   int main() { return 0; }
  1139. ***************
  1140. *** 661,667 ****
  1141.   
  1142.   if test $tk_ok = no; then
  1143.       cat > conftest.$ac_ext <<EOF
  1144. ! #line 665 "configure"
  1145.   #include "confdefs.h"
  1146.   #include <sys/select.h>
  1147.   EOF
  1148. --- 663,669 ----
  1149.   
  1150.   if test $tk_ok = no; then
  1151.       cat > conftest.$ac_ext <<EOF
  1152. ! #line 667 "configure"
  1153.   #include "confdefs.h"
  1154.   #include <sys/select.h>
  1155.   EOF
  1156. ***************
  1157. *** 694,700 ****
  1158.   
  1159.   echo $ac_n "checking stdlib.h""... $ac_c" 1>&6
  1160.   cat > conftest.$ac_ext <<EOF
  1161. ! #line 698 "configure"
  1162.   #include "confdefs.h"
  1163.   #include <stdlib.h>
  1164.   EOF
  1165. --- 696,702 ----
  1166.   
  1167.   echo $ac_n "checking stdlib.h""... $ac_c" 1>&6
  1168.   cat > conftest.$ac_ext <<EOF
  1169. ! #line 700 "configure"
  1170.   #include "confdefs.h"
  1171.   #include <stdlib.h>
  1172.   EOF
  1173. ***************
  1174. *** 709,715 ****
  1175.   rm -f conftest*
  1176.   
  1177.   cat > conftest.$ac_ext <<EOF
  1178. ! #line 713 "configure"
  1179.   #include "confdefs.h"
  1180.   #include <stdlib.h>
  1181.   EOF
  1182. --- 711,717 ----
  1183.   rm -f conftest*
  1184.   
  1185.   cat > conftest.$ac_ext <<EOF
  1186. ! #line 715 "configure"
  1187.   #include "confdefs.h"
  1188.   #include <stdlib.h>
  1189.   EOF
  1190. ***************
  1191. *** 723,729 ****
  1192.   rm -f conftest*
  1193.   
  1194.   cat > conftest.$ac_ext <<EOF
  1195. ! #line 727 "configure"
  1196.   #include "confdefs.h"
  1197.   #include <stdlib.h>
  1198.   EOF
  1199. --- 725,731 ----
  1200.   rm -f conftest*
  1201.   
  1202.   cat > conftest.$ac_ext <<EOF
  1203. ! #line 729 "configure"
  1204.   #include "confdefs.h"
  1205.   #include <stdlib.h>
  1206.   EOF
  1207. ***************
  1208. *** 758,764 ****
  1209.     ac_cv_c_cross=yes
  1210.   else
  1211.   cat > conftest.$ac_ext <<EOF
  1212. ! #line 762 "configure"
  1213.   #include "confdefs.h"
  1214.   main(){return(0);}
  1215.   EOF
  1216. --- 760,766 ----
  1217.     ac_cv_c_cross=yes
  1218.   else
  1219.   cat > conftest.$ac_ext <<EOF
  1220. ! #line 764 "configure"
  1221.   #include "confdefs.h"
  1222.   main(){return(0);}
  1223.   EOF
  1224. ***************
  1225. *** 779,785 ****
  1226.     echo $ac_n "(cached) $ac_c" 1>&6
  1227.   else
  1228.     cat > conftest.$ac_ext <<EOF
  1229. ! #line 783 "configure"
  1230.   #include "confdefs.h"
  1231.   #include <stdlib.h>
  1232.   #include <stdarg.h>
  1233. --- 781,787 ----
  1234.     echo $ac_n "(cached) $ac_c" 1>&6
  1235.   else
  1236.     cat > conftest.$ac_ext <<EOF
  1237. ! #line 785 "configure"
  1238.   #include "confdefs.h"
  1239.   #include <stdlib.h>
  1240.   #include <stdarg.h>
  1241. ***************
  1242. *** 801,807 ****
  1243.   if test $ac_cv_header_stdc = yes; then
  1244.     # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  1245.   cat > conftest.$ac_ext <<EOF
  1246. ! #line 805 "configure"
  1247.   #include "confdefs.h"
  1248.   #include <string.h>
  1249.   EOF
  1250. --- 803,809 ----
  1251.   if test $ac_cv_header_stdc = yes; then
  1252.     # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  1253.   cat > conftest.$ac_ext <<EOF
  1254. ! #line 807 "configure"
  1255.   #include "confdefs.h"
  1256.   #include <string.h>
  1257.   EOF
  1258. ***************
  1259. *** 819,825 ****
  1260.   if test $ac_cv_header_stdc = yes; then
  1261.     # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  1262.   cat > conftest.$ac_ext <<EOF
  1263. ! #line 823 "configure"
  1264.   #include "confdefs.h"
  1265.   #include <stdlib.h>
  1266.   EOF
  1267. --- 821,827 ----
  1268.   if test $ac_cv_header_stdc = yes; then
  1269.     # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  1270.   cat > conftest.$ac_ext <<EOF
  1271. ! #line 825 "configure"
  1272.   #include "confdefs.h"
  1273.   #include <stdlib.h>
  1274.   EOF
  1275. ***************
  1276. *** 840,846 ****
  1277.     ac_cv_header_stdc=no
  1278.   else
  1279.   cat > conftest.$ac_ext <<EOF
  1280. ! #line 844 "configure"
  1281.   #include "confdefs.h"
  1282.   #include <ctype.h>
  1283.   #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  1284. --- 842,848 ----
  1285.     ac_cv_header_stdc=no
  1286.   else
  1287.   cat > conftest.$ac_ext <<EOF
  1288. ! #line 846 "configure"
  1289.   #include "confdefs.h"
  1290.   #include <ctype.h>
  1291.   #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  1292. ***************
  1293. *** 874,880 ****
  1294.     echo $ac_n "(cached) $ac_c" 1>&6
  1295.   else
  1296.     cat > conftest.$ac_ext <<EOF
  1297. ! #line 878 "configure"
  1298.   #include "confdefs.h"
  1299.   #include <sys/types.h>
  1300.   #if STDC_HEADERS
  1301. --- 876,882 ----
  1302.     echo $ac_n "(cached) $ac_c" 1>&6
  1303.   else
  1304.     cat > conftest.$ac_ext <<EOF
  1305. ! #line 880 "configure"
  1306.   #include "confdefs.h"
  1307.   #include <sys/types.h>
  1308.   #if STDC_HEADERS
  1309. ***************
  1310. *** 905,911 ****
  1311.     echo $ac_n "(cached) $ac_c" 1>&6
  1312.   else
  1313.     cat > conftest.$ac_ext <<EOF
  1314. ! #line 909 "configure"
  1315.   #include "confdefs.h"
  1316.   #include <sys/types.h>
  1317.   #if STDC_HEADERS
  1318. --- 907,913 ----
  1319.     echo $ac_n "(cached) $ac_c" 1>&6
  1320.   else
  1321.     cat > conftest.$ac_ext <<EOF
  1322. ! #line 911 "configure"
  1323.   #include "confdefs.h"
  1324.   #include <sys/types.h>
  1325.   #if STDC_HEADERS
  1326. ***************
  1327. *** 936,942 ****
  1328.     echo $ac_n "(cached) $ac_c" 1>&6
  1329.   else
  1330.     cat > conftest.$ac_ext <<EOF
  1331. ! #line 940 "configure"
  1332.   #include "confdefs.h"
  1333.   #include <sys/types.h>
  1334.   #if STDC_HEADERS
  1335. --- 938,944 ----
  1336.     echo $ac_n "(cached) $ac_c" 1>&6
  1337.   else
  1338.     cat > conftest.$ac_ext <<EOF
  1339. ! #line 942 "configure"
  1340.   #include "confdefs.h"
  1341.   #include <sys/types.h>
  1342.   #if STDC_HEADERS
  1343. ***************
  1344. *** 967,973 ****
  1345.     echo $ac_n "(cached) $ac_c" 1>&6
  1346.   else
  1347.     cat > conftest.$ac_ext <<EOF
  1348. ! #line 971 "configure"
  1349.   #include "confdefs.h"
  1350.   #include <sys/types.h>
  1351.   EOF
  1352. --- 969,975 ----
  1353.     echo $ac_n "(cached) $ac_c" 1>&6
  1354.   else
  1355.     cat > conftest.$ac_ext <<EOF
  1356. ! #line 973 "configure"
  1357.   #include "confdefs.h"
  1358.   #include <sys/types.h>
  1359.   EOF
  1360. ***************
  1361. *** 1040,1049 ****
  1362.       # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  1363.       eval `make acfindx 2>/dev/null | grep -v make`
  1364.       # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
  1365. !     if test ! -f $ac_im_usrlibdir/libX11.a && test -f $ac_im_libdir/libX11.a
  1366. !     then
  1367. !       ac_im_usrlibdir=$ac_im_libdir
  1368. !     fi
  1369.       # Screen out bogus values from the imake configuration.
  1370.       case "$ac_im_incroot" in
  1371.       /usr/include) ;;
  1372. --- 1042,1053 ----
  1373.       # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  1374.       eval `make acfindx 2>/dev/null | grep -v make`
  1375.       # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
  1376. !     for ac_extension in a so sl; do
  1377. !       if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
  1378. !         test -f $ac_im_libdir/libX11.$ac_extension; then
  1379. !         ac_im_usrlibdir=$ac_im_libdir; break
  1380. !       fi
  1381. !     done
  1382.       # Screen out bogus values from the imake configuration.
  1383.       case "$ac_im_incroot" in
  1384.       /usr/include) ;;
  1385. ***************
  1386. *** 1063,1069 ****
  1387.   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
  1388.   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
  1389.   cat > conftest.$ac_ext <<EOF
  1390. ! #line 1067 "configure"
  1391.   #include "confdefs.h"
  1392.   #include <$x_direct_test_include>
  1393.   EOF
  1394. --- 1067,1073 ----
  1395.   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
  1396.   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
  1397.   cat > conftest.$ac_ext <<EOF
  1398. ! #line 1071 "configure"
  1399.   #include "confdefs.h"
  1400.   #include <$x_direct_test_include>
  1401.   EOF
  1402. ***************
  1403. *** 1126,1132 ****
  1404.   ac_save_LIBS="$LIBS"
  1405.   LIBS="-l$x_direct_test_library $LIBS"
  1406.   cat > conftest.$ac_ext <<EOF
  1407. ! #line 1130 "configure"
  1408.   #include "confdefs.h"
  1409.   
  1410.   int main() { return 0; }
  1411. --- 1130,1136 ----
  1412.   ac_save_LIBS="$LIBS"
  1413.   LIBS="-l$x_direct_test_library $LIBS"
  1414.   cat > conftest.$ac_ext <<EOF
  1415. ! #line 1134 "configure"
  1416.   #include "confdefs.h"
  1417.   
  1418.   int main() { return 0; }
  1419. ***************
  1420. *** 1212,1218 ****
  1421.   if test "$no_x" = ""; then
  1422.       if test "$x_includes" = ""; then
  1423.       cat > conftest.$ac_ext <<EOF
  1424. ! #line 1216 "configure"
  1425.   #include "confdefs.h"
  1426.   #include <X11/XIntrinsic.h>
  1427.   EOF
  1428. --- 1216,1222 ----
  1429.   if test "$no_x" = ""; then
  1430.       if test "$x_includes" = ""; then
  1431.       cat > conftest.$ac_ext <<EOF
  1432. ! #line 1220 "configure"
  1433.   #include "confdefs.h"
  1434.   #include <X11/XIntrinsic.h>
  1435.   EOF
  1436. ***************
  1437. *** 1236,1242 ****
  1438.       echo checking for X11 header files
  1439.       XINCLUDES="# no special path needed"
  1440.       cat > conftest.$ac_ext <<EOF
  1441. ! #line 1240 "configure"
  1442.   #include "confdefs.h"
  1443.   #include <X11/Intrinsic.h>
  1444.   EOF
  1445. --- 1240,1246 ----
  1446.       echo checking for X11 header files
  1447.       XINCLUDES="# no special path needed"
  1448.       cat > conftest.$ac_ext <<EOF
  1449. ! #line 1244 "configure"
  1450.   #include "confdefs.h"
  1451.   #include <X11/Intrinsic.h>
  1452.   EOF
  1453. ***************
  1454. *** 1296,1302 ****
  1455.     ac_save_LIBS="$LIBS"
  1456.   LIBS="-lXwindow  $LIBS"
  1457.   cat > conftest.$ac_ext <<EOF
  1458. ! #line 1300 "configure"
  1459.   #include "confdefs.h"
  1460.   
  1461.   int main() { return 0; }
  1462. --- 1300,1306 ----
  1463.     ac_save_LIBS="$LIBS"
  1464.   LIBS="-lXwindow  $LIBS"
  1465.   cat > conftest.$ac_ext <<EOF
  1466. ! #line 1304 "configure"
  1467.   #include "confdefs.h"
  1468.   
  1469.   int main() { return 0; }
  1470. ***************
  1471. *** 1354,1360 ****
  1472.     ac_save_LIBS="$LIBS"
  1473.   LIBS="-lXbsd  $LIBS"
  1474.   cat > conftest.$ac_ext <<EOF
  1475. ! #line 1358 "configure"
  1476.   #include "confdefs.h"
  1477.   
  1478.   int main() { return 0; }
  1479. --- 1358,1364 ----
  1480.     ac_save_LIBS="$LIBS"
  1481.   LIBS="-lXbsd  $LIBS"
  1482.   cat > conftest.$ac_ext <<EOF
  1483. ! #line 1362 "configure"
  1484.   #include "confdefs.h"
  1485.   
  1486.   int main() { return 0; }
  1487. ***************
  1488. *** 1387,1393 ****
  1489.     echo $ac_n "(cached) $ac_c" 1>&6
  1490.   else
  1491.     cat > conftest.$ac_ext <<EOF
  1492. ! #line 1391 "configure"
  1493.   #include "confdefs.h"
  1494.   /* System header to define __stub macros and hopefully few prototypes,
  1495.       which can conflict with char connect(); below.  */
  1496. --- 1391,1397 ----
  1497.     echo $ac_n "(cached) $ac_c" 1>&6
  1498.   else
  1499.     cat > conftest.$ac_ext <<EOF
  1500. ! #line 1395 "configure"
  1501.   #include "confdefs.h"
  1502.   /* System header to define __stub macros and hopefully few prototypes,
  1503.       which can conflict with char connect(); below.  */
  1504. ***************
  1505. *** 1435,1441 ****
  1506.     ac_save_LIBS="$LIBS"
  1507.   LIBS="-lsocket  $LIBS"
  1508.   cat > conftest.$ac_ext <<EOF
  1509. ! #line 1439 "configure"
  1510.   #include "confdefs.h"
  1511.   
  1512.   int main() { return 0; }
  1513. --- 1439,1445 ----
  1514.     ac_save_LIBS="$LIBS"
  1515.   LIBS="-lsocket  $LIBS"
  1516.   cat > conftest.$ac_ext <<EOF
  1517. ! #line 1443 "configure"
  1518.   #include "confdefs.h"
  1519.   
  1520.   int main() { return 0; }
  1521. ***************
  1522. *** 1471,1477 ****
  1523.     echo $ac_n "(cached) $ac_c" 1>&6
  1524.   else
  1525.     cat > conftest.$ac_ext <<EOF
  1526. ! #line 1475 "configure"
  1527.   #include "confdefs.h"
  1528.   /* System header to define __stub macros and hopefully few prototypes,
  1529.       which can conflict with char accept(); below.  */
  1530. --- 1475,1481 ----
  1531.     echo $ac_n "(cached) $ac_c" 1>&6
  1532.   else
  1533.     cat > conftest.$ac_ext <<EOF
  1534. ! #line 1479 "configure"
  1535.   #include "confdefs.h"
  1536.   /* System header to define __stub macros and hopefully few prototypes,
  1537.       which can conflict with char accept(); below.  */
  1538. ***************
  1539. *** 1517,1523 ****
  1540.     echo $ac_n "(cached) $ac_c" 1>&6
  1541.   else
  1542.     cat > conftest.$ac_ext <<EOF
  1543. ! #line 1521 "configure"
  1544.   #include "confdefs.h"
  1545.   /* System header to define __stub macros and hopefully few prototypes,
  1546.       which can conflict with char gethostbyname(); below.  */
  1547. --- 1521,1527 ----
  1548.     echo $ac_n "(cached) $ac_c" 1>&6
  1549.   else
  1550.     cat > conftest.$ac_ext <<EOF
  1551. ! #line 1525 "configure"
  1552.   #include "confdefs.h"
  1553.   /* System header to define __stub macros and hopefully few prototypes,
  1554.       which can conflict with char gethostbyname(); below.  */
  1555. ***************
  1556. *** 1561,1567 ****
  1557.     ac_save_LIBS="$LIBS"
  1558.   LIBS="-lnsl  $LIBS"
  1559.   cat > conftest.$ac_ext <<EOF
  1560. ! #line 1565 "configure"
  1561.   #include "confdefs.h"
  1562.   
  1563.   int main() { return 0; }
  1564. --- 1565,1571 ----
  1565.     ac_save_LIBS="$LIBS"
  1566.   LIBS="-lnsl  $LIBS"
  1567.   cat > conftest.$ac_ext <<EOF
  1568. ! #line 1569 "configure"
  1569.   #include "confdefs.h"
  1570.   
  1571.   int main() { return 0; }
  1572. ***************
  1573. *** 1608,1614 ****
  1574.       tk_oldLibs=$LIBS
  1575.       LIBS="$LIBS -lX11-mit"
  1576.       cat > conftest.$ac_ext <<EOF
  1577. ! #line 1612 "configure"
  1578.   #include "confdefs.h"
  1579.   
  1580.       #include <X11/Xlib.h>
  1581. --- 1612,1618 ----
  1582.       tk_oldLibs=$LIBS
  1583.       LIBS="$LIBS -lX11-mit"
  1584.       cat > conftest.$ac_ext <<EOF
  1585. ! #line 1616 "configure"
  1586.   #include "confdefs.h"
  1587.   
  1588.       #include <X11/Xlib.h>
  1589. ***************
  1590. *** 1650,1656 ****
  1591.   
  1592.   echo $ac_n "checking count field in FILE structures""... $ac_c" 1>&6
  1593.   cat > conftest.$ac_ext <<EOF
  1594. ! #line 1654 "configure"
  1595.   #include "confdefs.h"
  1596.   #include <stdio.h>
  1597.   int main() { return 0; }
  1598. --- 1654,1660 ----
  1599.   
  1600.   echo $ac_n "checking count field in FILE structures""... $ac_c" 1>&6
  1601.   cat > conftest.$ac_ext <<EOF
  1602. ! #line 1658 "configure"
  1603.   #include "confdefs.h"
  1604.   #include <stdio.h>
  1605.   int main() { return 0; }
  1606. ***************
  1607. *** 1666,1672 ****
  1608.   
  1609.   if test "$fcnt" = ""; then
  1610.       cat > conftest.$ac_ext <<EOF
  1611. ! #line 1670 "configure"
  1612.   #include "confdefs.h"
  1613.   #include <stdio.h>
  1614.   int main() { return 0; }
  1615. --- 1670,1676 ----
  1616.   
  1617.   if test "$fcnt" = ""; then
  1618.       cat > conftest.$ac_ext <<EOF
  1619. ! #line 1674 "configure"
  1620.   #include "confdefs.h"
  1621.   #include <stdio.h>
  1622.   int main() { return 0; }
  1623. ***************
  1624. *** 1683,1689 ****
  1625.   fi
  1626.   if test "$fcnt" = ""; then
  1627.       cat > conftest.$ac_ext <<EOF
  1628. ! #line 1687 "configure"
  1629.   #include "confdefs.h"
  1630.   #include <stdio.h>
  1631.   int main() { return 0; }
  1632. --- 1687,1693 ----
  1633.   fi
  1634.   if test "$fcnt" = ""; then
  1635.       cat > conftest.$ac_ext <<EOF
  1636. ! #line 1691 "configure"
  1637.   #include "confdefs.h"
  1638.   #include <stdio.h>
  1639.   int main() { return 0; }
  1640. ***************
  1641. *** 1700,1706 ****
  1642.   fi
  1643.   if test "$fcnt" = ""; then
  1644.       cat > conftest.$ac_ext <<EOF
  1645. ! #line 1704 "configure"
  1646.   #include "confdefs.h"
  1647.   #include <stdio.h>
  1648.   int main() { return 0; }
  1649. --- 1704,1710 ----
  1650.   fi
  1651.   if test "$fcnt" = ""; then
  1652.       cat > conftest.$ac_ext <<EOF
  1653. ! #line 1708 "configure"
  1654.   #include "confdefs.h"
  1655.   #include <stdio.h>
  1656.   int main() { return 0; }
  1657. ***************
  1658. *** 1723,1729 ****
  1659.   fi
  1660.   if test "$fcnt" = ""; then
  1661.       cat > conftest.$ac_ext <<EOF
  1662. ! #line 1727 "configure"
  1663.   #include "confdefs.h"
  1664.   #include <stdio.h>
  1665.   int main() { return 0; }
  1666. --- 1727,1733 ----
  1667.   fi
  1668.   if test "$fcnt" = ""; then
  1669.       cat > conftest.$ac_ext <<EOF
  1670. ! #line 1731 "configure"
  1671.   #include "confdefs.h"
  1672.   #include <stdio.h>
  1673.   int main() { return 0; }
  1674. ***************
  1675. *** 1750,1756 ****
  1676.   fi
  1677.   if test "$fcnt" = ""; then
  1678.       cat > conftest.$ac_ext <<EOF
  1679. ! #line 1754 "configure"
  1680.   #include "confdefs.h"
  1681.   #include <stdio.h>
  1682.   int main() { return 0; }
  1683. --- 1754,1760 ----
  1684.   fi
  1685.   if test "$fcnt" = ""; then
  1686.       cat > conftest.$ac_ext <<EOF
  1687. ! #line 1758 "configure"
  1688.   #include "confdefs.h"
  1689.   #include <stdio.h>
  1690.   int main() { return 0; }
  1691. ***************
  1692. *** 1794,1800 ****
  1693.     echo $ac_n "(cached) $ac_c" 1>&6
  1694.   else
  1695.     cat > conftest.$ac_ext <<EOF
  1696. ! #line 1798 "configure"
  1697.   #include "confdefs.h"
  1698.   /* System header to define __stub macros and hopefully few prototypes,
  1699.       which can conflict with char sin(); below.  */
  1700. --- 1798,1804 ----
  1701.     echo $ac_n "(cached) $ac_c" 1>&6
  1702.   else
  1703.     cat > conftest.$ac_ext <<EOF
  1704. ! #line 1802 "configure"
  1705.   #include "confdefs.h"
  1706.   /* System header to define __stub macros and hopefully few prototypes,
  1707.       which can conflict with char sin(); below.  */
  1708. ***************
  1709. *** 1841,1847 ****
  1710.     ac_save_LIBS="$LIBS"
  1711.   LIBS="-lieee  $LIBS"
  1712.   cat > conftest.$ac_ext <<EOF
  1713. ! #line 1845 "configure"
  1714.   #include "confdefs.h"
  1715.   
  1716.   int main() { return 0; }
  1717. --- 1845,1851 ----
  1718.     ac_save_LIBS="$LIBS"
  1719.   LIBS="-lieee  $LIBS"
  1720.   cat > conftest.$ac_ext <<EOF
  1721. ! #line 1849 "configure"
  1722.   #include "confdefs.h"
  1723.   
  1724.   int main() { return 0; }
  1725. ***************
  1726. *** 1879,1885 ****
  1727.     echo $ac_n "(cached) $ac_c" 1>&6
  1728.   else
  1729.     cat > conftest.$ac_ext <<EOF
  1730. ! #line 1883 "configure"
  1731.   #include "confdefs.h"
  1732.   /* System header to define __stub macros and hopefully few prototypes,
  1733.       which can conflict with char memmove(); below.  */
  1734. --- 1883,1889 ----
  1735.     echo $ac_n "(cached) $ac_c" 1>&6
  1736.   else
  1737.     cat > conftest.$ac_ext <<EOF
  1738. ! #line 1887 "configure"
  1739.   #include "confdefs.h"
  1740.   /* System header to define __stub macros and hopefully few prototypes,
  1741.       which can conflict with char memmove(); below.  */
  1742. ***************
  1743. *** 1933,1939 ****
  1744.       { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  1745.   else
  1746.   cat > conftest.$ac_ext <<EOF
  1747. ! #line 1937 "configure"
  1748.   #include "confdefs.h"
  1749.   
  1750.   int main()
  1751. --- 1937,1943 ----
  1752.       { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  1753.   else
  1754.   cat > conftest.$ac_ext <<EOF
  1755. ! #line 1941 "configure"
  1756.   #include "confdefs.h"
  1757.   
  1758.   int main()
  1759. ***************
  1760. *** 1979,1985 ****
  1761.     echo $ac_n "(cached) $ac_c" 1>&6
  1762.   else
  1763.     cat > conftest.$ac_ext <<EOF
  1764. ! #line 1983 "configure"
  1765.   #include "confdefs.h"
  1766.   /* System header to define __stub macros and hopefully few prototypes,
  1767.       which can conflict with char BSDgettimeofday(); below.  */
  1768. --- 1983,1989 ----
  1769.     echo $ac_n "(cached) $ac_c" 1>&6
  1770.   else
  1771.     cat > conftest.$ac_ext <<EOF
  1772. ! #line 1987 "configure"
  1773.   #include "confdefs.h"
  1774.   /* System header to define __stub macros and hopefully few prototypes,
  1775.       which can conflict with char BSDgettimeofday(); below.  */
  1776. ***************
  1777. *** 2023,2029 ****
  1778.   
  1779.   echo $ac_n "checking for gettimeofday declaration""... $ac_c" 1>&6
  1780.   cat > conftest.$ac_ext <<EOF
  1781. ! #line 2027 "configure"
  1782.   #include "confdefs.h"
  1783.   #include <sys/time.h>
  1784.   EOF
  1785. --- 2027,2033 ----
  1786.   
  1787.   echo $ac_n "checking for gettimeofday declaration""... $ac_c" 1>&6
  1788.   cat > conftest.$ac_ext <<EOF
  1789. ! #line 2031 "configure"
  1790.   #include "confdefs.h"
  1791.   #include <sys/time.h>
  1792.   EOF
  1793. ***************
  1794. *** 2056,2062 ****
  1795.     echo $ac_n "(cached) $ac_c" 1>&6
  1796.   else
  1797.     cat > conftest.$ac_ext <<EOF
  1798. ! #line 2060 "configure"
  1799.   #include "confdefs.h"
  1800.   /* System header to define __stub macros and hopefully few prototypes,
  1801.       which can conflict with char strtod(); below.  */
  1802. --- 2060,2066 ----
  1803.     echo $ac_n "(cached) $ac_c" 1>&6
  1804.   else
  1805.     cat > conftest.$ac_ext <<EOF
  1806. ! #line 2064 "configure"
  1807.   #include "confdefs.h"
  1808.   /* System header to define __stub macros and hopefully few prototypes,
  1809.       which can conflict with char strtod(); below.  */
  1810. ***************
  1811. *** 2102,2108 ****
  1812.       { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  1813.   else
  1814.   cat > conftest.$ac_ext <<EOF
  1815. ! #line 2106 "configure"
  1816.   #include "confdefs.h"
  1817.   
  1818.       extern double strtod();
  1819. --- 2106,2112 ----
  1820.       { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  1821.   else
  1822.   cat > conftest.$ac_ext <<EOF
  1823. ! #line 2110 "configure"
  1824.   #include "confdefs.h"
  1825.   
  1826.       extern double strtod();
  1827. ***************
  1828. *** 2221,2227 ****
  1829.       echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
  1830.       exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  1831.     -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  1832. !     echo "$CONFIG_STATUS generated by autoconf version 2.2"
  1833.       exit 0 ;;
  1834.     -help | --help | --hel | --he | --h)
  1835.       echo "\$ac_cs_usage"; exit 0 ;;
  1836. --- 2225,2231 ----
  1837.       echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
  1838.       exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  1839.     -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  1840. !     echo "$CONFIG_STATUS generated by autoconf version 2.4"
  1841.       exit 0 ;;
  1842.     -help | --help | --hel | --he | --h)
  1843.       echo "\$ac_cs_usage"; exit 0 ;;
  1844. ***************
  1845. *** 2232,2238 ****
  1846.   ac_given_srcdir=$srcdir
  1847.   ac_given_INSTALL="$INSTALL"
  1848.   
  1849. ! trap 'rm -f Makefile; exit 1' 1 2 15
  1850.   
  1851.   # Protect against being on the right side of a sed subst in config.status. 
  1852.   sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
  1853. --- 2236,2242 ----
  1854.   ac_given_srcdir=$srcdir
  1855.   ac_given_INSTALL="$INSTALL"
  1856.   
  1857. ! trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
  1858.   
  1859.   # Protect against being on the right side of a sed subst in config.status. 
  1860.   sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
  1861. *** ../tk4.0/./library/dialog.tcl    Wed Jun 28 17:15:55 1995
  1862. --- ./library/dialog.tcl    Fri Jul 28 09:35:56 1995
  1863. ***************
  1864. *** 3,9 ****
  1865.   # This file defines the procedure tk_dialog, which creates a dialog
  1866.   # box containing a bitmap, a message, and one or more buttons.
  1867.   #
  1868. ! # @(#) dialog.tcl 1.15 95/06/28 17:15:54
  1869.   #
  1870.   # Copyright (c) 1992-1993 The Regents of the University of California.
  1871.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1872. --- 3,9 ----
  1873.   # This file defines the procedure tk_dialog, which creates a dialog
  1874.   # box containing a bitmap, a message, and one or more buttons.
  1875.   #
  1876. ! # @(#) dialog.tcl 1.16 95/07/28 09:35:57
  1877.   #
  1878.   # Copyright (c) 1992-1993 The Regents of the University of California.
  1879.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1880. ***************
  1881. *** 89,94 ****
  1882. --- 89,98 ----
  1883.       # 5. Set a grab and claim the focus too.
  1884.   
  1885.       set oldFocus [focus]
  1886. +     set oldGrab [grab current $w]
  1887. +     if {$oldGrab != ""} {
  1888. +     set grabStatus [grab status $oldGrab]
  1889. +     }
  1890.       grab $w
  1891.       tkwait visibility $w
  1892.       if {$default >= 0} {
  1893. ***************
  1894. *** 100,109 ****
  1895.       # 6. Wait for the user to respond, then restore the focus and
  1896.       # return the index of the selected button.  Restore the focus
  1897.       # before deleting the window, since otherwise the window manager
  1898. !     # may take the focus away so we can't redirect it.
  1899.   
  1900.       tkwait variable tkPriv(button)
  1901.       catch {focus $oldFocus}
  1902.       destroy $w
  1903.       return $tkPriv(button)
  1904.   }
  1905. --- 104,121 ----
  1906.       # 6. Wait for the user to respond, then restore the focus and
  1907.       # return the index of the selected button.  Restore the focus
  1908.       # before deleting the window, since otherwise the window manager
  1909. !     # may take the focus away so we can't redirect it.  Finally,
  1910. !     # restore any grab that was in effect.
  1911.   
  1912.       tkwait variable tkPriv(button)
  1913.       catch {focus $oldFocus}
  1914.       destroy $w
  1915. +     if {$oldGrab != ""} {
  1916. +     if {$grabStatus == "global"} {
  1917. +         grab -global $oldGrab
  1918. +     } else {
  1919. +         grab $oldGrab
  1920. +     }
  1921. +     }
  1922.       return $tkPriv(button)
  1923.   }
  1924. *** ../tk4.0/./library/listbox.tcl    Thu Jun  8 13:18:30 1995
  1925. --- ./library/listbox.tcl    Tue Jul 25 13:24:34 1995
  1926. ***************
  1927. *** 3,9 ****
  1928.   # This file defines the default bindings for Tk listbox widgets
  1929.   # and provides procedures that help in implementing those bindings.
  1930.   #
  1931. ! # @(#) listbox.tcl 1.11 95/06/04 17:30:09
  1932.   #
  1933.   # Copyright (c) 1994 The Regents of the University of California.
  1934.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1935. --- 3,9 ----
  1936.   # This file defines the default bindings for Tk listbox widgets
  1937.   # and provides procedures that help in implementing those bindings.
  1938.   #
  1939. ! # @(#) listbox.tcl 1.12 95/07/25 13:24:32
  1940.   #
  1941.   # Copyright (c) 1994 The Regents of the University of California.
  1942.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1943. ***************
  1944. *** 79,87 ****
  1945. --- 79,89 ----
  1946.   }
  1947.   bind Listbox <Prior> {
  1948.       %W yview scroll -1 pages
  1949. +     %W activate @0,0
  1950.   }
  1951.   bind Listbox <Next> {
  1952.       %W yview scroll 1 pages
  1953. +     %W activate @0,0
  1954.   }
  1955.   bind Listbox <Control-Prior> {
  1956.       %W xview scroll -1 pages
  1957. *** ../tk4.0/./library/menu.tcl    Sun Jun 25 16:11:23 1995
  1958. --- ./library/menu.tcl    Fri Jul 28 09:35:56 1995
  1959. ***************
  1960. *** 4,10 ****
  1961.   # It also implements keyboard traversal of menus and implements a few
  1962.   # other utility procedures related to menus.
  1963.   #
  1964. ! # @(#) menu.tcl 1.51 95/06/25 16:11:23
  1965.   #
  1966.   # Copyright (c) 1992-1994 The Regents of the University of California.
  1967.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1968. --- 4,10 ----
  1969.   # It also implements keyboard traversal of menus and implements a few
  1970.   # other utility procedures related to menus.
  1971.   #
  1972. ! # @(#) menu.tcl 1.52 95/07/28 09:35:55
  1973.   #
  1974.   # Copyright (c) 1992-1994 The Regents of the University of California.
  1975.   # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  1976. ***************
  1977. *** 19,27 ****
  1978. --- 19,36 ----
  1979.   # cursor -        Saves the -cursor option for the posted menubutton.
  1980.   # focus -        Saves the focus during a menu selection operation.
  1981.   #            Focus gets restored here when the menu is unposted.
  1982. + # grabGlobal -        Used in conjunction with tkPriv(oldGrab):  if
  1983. + #            tkPriv(oldGrab) is non-empty, then tkPriv(grabGlobal)
  1984. + #            contains either an empty string or "-global" to
  1985. + #            indicate whether the old grab was a local one or
  1986. + #            a global one.
  1987.   # inMenubutton -    The name of the menubutton widget containing
  1988.   #            the mouse, or an empty string if the mouse is
  1989.   #            not over any menubutton.
  1990. + # oldGrab -        Window that had the grab before a menu was posted.
  1991. + #            Used to restore the grab state after the menu
  1992. + #            is unposted.  Empty string means there was no
  1993. + #            grab previously set.
  1994.   # popup -        If a menu has been popped up via tk_popup, this
  1995.   #            gives the name of the menu.  Otherwise this
  1996.   #            value is empty.
  1997. ***************
  1998. *** 236,241 ****
  1999. --- 245,251 ----
  2000.       $menu post [winfo rootx $w] [expr [winfo rooty $w]+[winfo height $w]]
  2001.       }
  2002.       focus $menu
  2003. +     tkSaveGrabInfo $w
  2004.       grab -global $w
  2005.   }
  2006.   
  2007. ***************
  2008. *** 302,308 ****
  2009.       }
  2010.       }
  2011.   
  2012. !     # Release grab, if any.
  2013.   
  2014.       if {$menu != ""} {
  2015.       set grab [grab current $menu]
  2016. --- 312,319 ----
  2017.       }
  2018.       }
  2019.   
  2020. !     # Release grab, if any, and restore the previous grab, if there
  2021. !     # was one.
  2022.   
  2023.       if {$menu != ""} {
  2024.       set grab [grab current $menu]
  2025. ***************
  2026. *** 310,315 ****
  2027. --- 321,334 ----
  2028.           grab release $grab
  2029.       }
  2030.       }
  2031. +     if {$tkPriv(oldGrab) != ""} {
  2032. +     if {$tkPriv(grabStatus) == "global"} {
  2033. +         grab set -global $tkPriv(oldGrab)
  2034. +     } else {
  2035. +         grab set $tkPriv(oldGrab)
  2036. +     }
  2037. +     set tkPriv(oldGrab) ""
  2038. +     }
  2039.   }
  2040.   
  2041.   # tkMbMotion --
  2042. ***************
  2043. *** 390,397 ****
  2044.   # Handles button presses in menus.  There are a couple of tricky things
  2045.   # here:
  2046.   # 1. Change the posted cascade entry (if any) to match the mouse position.
  2047. ! # 2. If there is a posted menubutton, must grab to the menubutton so
  2048. ! #    that it can track mouse motions over other menubuttons and change
  2049.   #    the posted menu.
  2050.   # 3. If there's no posted menubutton (e.g. because we're a torn-off menu
  2051.   #    or one of its descendants) must grab to the top-level menu so that
  2052. --- 409,417 ----
  2053.   # Handles button presses in menus.  There are a couple of tricky things
  2054.   # here:
  2055.   # 1. Change the posted cascade entry (if any) to match the mouse position.
  2056. ! # 2. If there is a posted menubutton, must grab to the menubutton;  this
  2057. ! #    overrrides the implicit grab on button press, so that the menu
  2058. ! #    button can track mouse motions over other menubuttons and change
  2059.   #    the posted menu.
  2060.   # 3. If there's no posted menubutton (e.g. because we're a torn-off menu
  2061.   #    or one of its descendants) must grab to the top-level menu so that
  2062. ***************
  2063. *** 411,416 ****
  2064. --- 431,437 ----
  2065.           && [winfo ismapped [winfo parent $menu]]} {
  2066.           set menu [winfo parent $menu]
  2067.       }
  2068. +     tkSaveGrabInfo $menu
  2069.       grab -global $menu
  2070.       }
  2071.   }
  2072. ***************
  2073. *** 811,816 ****
  2074. --- 832,853 ----
  2075.       }
  2076.   }
  2077.   
  2078. + # tkSaveGrabInfo --
  2079. + # Sets the variables tkPriv(oldGrab) and tkPriv(grabStatus) to record
  2080. + # the state of any existing grab on the w's display.
  2081. + #
  2082. + # Arguments:
  2083. + # w -            Name of a window;  used to select the display
  2084. + #            whose grab information is to be recorded.
  2085. + proc tkSaveGrabInfo w {
  2086. +     global tkPriv
  2087. +     set tkPriv(oldGrab) [grab current $w]
  2088. +     if {$tkPriv(oldGrab) != ""} {
  2089. +     set tkPriv(grabStatus) [grab status $tkPriv(oldGrab)]
  2090. +     }
  2091. + }
  2092.   # tk_popup --
  2093.   # This procedure pops up a menu and sets things up for traversing
  2094.   # the menu and its submenus.
  2095. ***************
  2096. *** 829,834 ****
  2097. --- 866,872 ----
  2098.       tkMenuUnpost {}
  2099.       }
  2100.       tkPostOverPoint $menu $x $y $entry
  2101. +     tkSaveGrabInfo $menu
  2102.       grab -global $menu
  2103.       set tkPriv(popup) $menu
  2104.       set tkPriv(focus) [focus]
  2105. *** ../tk4.0/./library/tkerror.tcl    Thu Jun  8 13:18:32 1995
  2106. --- ./library/tkerror.tcl    Fri Jul 28 09:36:04 1995
  2107. ***************
  2108. *** 4,13 ****
  2109.   # posts a dialog box with the error message and gives the user a chance
  2110.   # to see a more detailed stack trace.
  2111.   #
  2112. ! # @(#) tkerror.tcl 1.5 95/02/25 13:54:23
  2113.   #
  2114.   # Copyright (c) 1992-1994 The Regents of the University of California.
  2115. ! # Copyright (c) 1994 Sun Microsystems, Inc.
  2116.   #
  2117.   # See the file "license.terms" for information on usage and redistribution
  2118.   # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  2119. --- 4,13 ----
  2120.   # posts a dialog box with the error message and gives the user a chance
  2121.   # to see a more detailed stack trace.
  2122.   #
  2123. ! # @(#) tkerror.tcl 1.6 95/07/28 09:36:05
  2124.   #
  2125.   # Copyright (c) 1992-1994 The Regents of the University of California.
  2126. ! # Copyright (c) 1994-1995 Sun Microsystems, Inc.
  2127.   #
  2128.   # See the file "license.terms" for information on usage and redistribution
  2129.   # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  2130. ***************
  2131. *** 21,34 ****
  2132.   
  2133.   proc tkerror err {
  2134.       global errorInfo
  2135. -     # Be sure to release any grabs that might be present on the
  2136. -     # screen, since they could make it impossible for the user
  2137. -     # to dismiss the error dialog box.
  2138. -     if {[grab current .] != ""} {
  2139. -     grab release [grab current .]
  2140. -     }
  2141.       set info $errorInfo
  2142.       set button [tk_dialog .tkerrorDialog "Error in Tcl Script" \
  2143.           "Error: $err" error 0 OK "Skip Messages" "Stack Trace"]
  2144. --- 21,26 ----
  2145. ***************
  2146. *** 64,67 ****
  2147. --- 56,67 ----
  2148.           - [winfo vrooty [winfo parent $w]]]
  2149.       wm geom $w +$x+$y
  2150.       wm deiconify $w
  2151. +     # Be sure to release any grabs that might be present on the
  2152. +     # screen, since they could make it impossible for the user
  2153. +     # to interact with the stack trace.
  2154. +     if {[grab current .] != ""} {
  2155. +     grab release [grab current .]
  2156. +     }
  2157.   }
  2158. *** ../tk4.0/./library/demos/browse    Fri May 26 16:20:57 1995
  2159. --- ./library/demos/browse    Tue Jul 18 16:21:45 1995
  2160. ***************
  2161. *** 1,6 ****
  2162.   #!/bin/sh
  2163.   # the next line restarts using wish \
  2164. ! exec wish "$0" "$@"
  2165.   
  2166.   # browse --
  2167.   # This script generates a directory browser, which lists the working
  2168. --- 1,6 ----
  2169.   #!/bin/sh
  2170.   # the next line restarts using wish \
  2171. ! exec wish4.0 "$0" "$@"
  2172.   
  2173.   # browse --
  2174.   # This script generates a directory browser, which lists the working
  2175. ***************
  2176. *** 7,13 ****
  2177.   # directory and allows you to open files or subdirectories by
  2178.   # double-clicking.
  2179.   #
  2180. ! # @(#) browse 1.5 95/05/26 16:20:51
  2181.   
  2182.   # Create a scrollbar on the right side of the main window and a listbox
  2183.   # on the left side.
  2184. --- 7,13 ----
  2185.   # directory and allows you to open files or subdirectories by
  2186.   # double-clicking.
  2187.   #
  2188. ! # @(#) browse 1.6 95/07/18 16:21:36
  2189.   
  2190.   # Create a scrollbar on the right side of the main window and a listbox
  2191.   # on the left side.
  2192. *** ../tk4.0/./library/demos/hello    Fri May 26 16:20:57 1995
  2193. --- ./library/demos/hello    Tue Jul 18 16:21:46 1995
  2194. ***************
  2195. *** 1,12 ****
  2196.   #!/bin/sh
  2197.   # the next line restarts using wish \
  2198. ! exec wish "$0" "$@"
  2199.   
  2200.   # hello --
  2201.   # Simple Tk script to create a button that prints "Hello, world".
  2202.   # Click on the button to terminate the program.
  2203.   #
  2204. ! # @(#) hello 1.3 95/05/26 16:20:52
  2205.   # 
  2206.   # The first line below creates the button, and the second line
  2207.   # asks the packer to shrink-wrap the application's main window
  2208. --- 1,12 ----
  2209.   #!/bin/sh
  2210.   # the next line restarts using wish \
  2211. ! exec wish4.0 "$0" "$@"
  2212.   
  2213.   # hello --
  2214.   # Simple Tk script to create a button that prints "Hello, world".
  2215.   # Click on the button to terminate the program.
  2216.   #
  2217. ! # @(#) hello 1.4 95/07/18 16:21:37
  2218.   # 
  2219.   # The first line below creates the button, and the second line
  2220.   # asks the packer to shrink-wrap the application's main window
  2221. *** ../tk4.0/./library/demos/ixset    Fri May 26 16:20:58 1995
  2222. --- ./library/demos/ixset    Tue Jul 18 16:21:46 1995
  2223. ***************
  2224. *** 1,6 ****
  2225.   #!/bin/sh
  2226.   # the next line restarts using wish \
  2227. ! exec wish "$0" "$@"
  2228.   
  2229.   # ixset --
  2230.   # A nice interface to "xset" to change X server settings
  2231. --- 1,6 ----
  2232.   #!/bin/sh
  2233.   # the next line restarts using wish \
  2234. ! exec wish4.0 "$0" "$@"
  2235.   
  2236.   # ixset --
  2237.   # A nice interface to "xset" to change X server settings
  2238. ***************
  2239. *** 9,15 ****
  2240.   #   91/11/23 : pda@masi.ibp.fr, jt@ratp.fr : design
  2241.   #   92/08/01 : pda@masi.ibp.fr : cleaning
  2242.   #
  2243. ! # @(#) ixset 1.4 95/05/26 16:20:53
  2244.   
  2245.   #
  2246.   # Button actions
  2247. --- 9,15 ----
  2248.   #   91/11/23 : pda@masi.ibp.fr, jt@ratp.fr : design
  2249.   #   92/08/01 : pda@masi.ibp.fr : cleaning
  2250.   #
  2251. ! # @(#) ixset 1.5 95/07/18 16:21:37
  2252.   
  2253.   #
  2254.   # Button actions
  2255. *** ../tk4.0/./library/demos/rmt    Mon Jun  5 14:41:42 1995
  2256. --- ./library/demos/rmt    Tue Jul 18 16:21:46 1995
  2257. ***************
  2258. *** 1,6 ****
  2259.   #!/bin/sh
  2260.   # the next line restarts using wish \
  2261. ! exec wish "$0" "$@"
  2262.   
  2263.   # rmt --
  2264.   # This script implements a simple remote-control mechanism for
  2265. --- 1,6 ----
  2266.   #!/bin/sh
  2267.   # the next line restarts using wish \
  2268. ! exec wish4.0 "$0" "$@"
  2269.   
  2270.   # rmt --
  2271.   # This script implements a simple remote-control mechanism for
  2272. ***************
  2273. *** 7,13 ****
  2274.   # Tk applications.  It allows you to select an application and
  2275.   # then type commands to that application.
  2276.   #
  2277. ! # @(#) rmt 1.6 95/06/05 14:41:40
  2278.   
  2279.   wm title . "Tk Remote Controller"
  2280.   wm iconname . "Tk Remote"
  2281. --- 7,13 ----
  2282.   # Tk applications.  It allows you to select an application and
  2283.   # then type commands to that application.
  2284.   #
  2285. ! # @(#) rmt 1.7 95/07/18 16:21:38
  2286.   
  2287.   wm title . "Tk Remote Controller"
  2288.   wm iconname . "Tk Remote"
  2289. *** ../tk4.0/./library/demos/rolodex    Fri May 26 16:20:58 1995
  2290. --- ./library/demos/rolodex    Tue Jul 18 16:21:46 1995
  2291. ***************
  2292. *** 1,6 ****
  2293.   #!/bin/sh
  2294.   # the next line restarts using wish \
  2295. ! exec wish "$0" "$@"
  2296.   
  2297.   # rolodex --
  2298.   # This script was written as an entry in Tom LaStrange's rolodex
  2299. --- 1,6 ----
  2300.   #!/bin/sh
  2301.   # the next line restarts using wish \
  2302. ! exec wish4.0 "$0" "$@"
  2303.   
  2304.   # rolodex --
  2305.   # This script was written as an entry in Tom LaStrange's rolodex
  2306. ***************
  2307. *** 8,14 ****
  2308.   # feel of a rolodex program, although it's lifeless and doesn't
  2309.   # actually do the rolodex application.
  2310.   #
  2311. ! # @(#) rolodex 1.4 95/05/26 16:20:55
  2312.   
  2313.   foreach i [winfo child .] {
  2314.       catch {destroy $i}
  2315. --- 8,14 ----
  2316.   # feel of a rolodex program, although it's lifeless and doesn't
  2317.   # actually do the rolodex application.
  2318.   #
  2319. ! # @(#) rolodex 1.5 95/07/18 16:21:39
  2320.   
  2321.   foreach i [winfo child .] {
  2322.       catch {destroy $i}
  2323. *** ../tk4.0/./library/demos/square    Fri May 26 16:20:58 1995
  2324. --- ./library/demos/square    Tue Jul 18 16:21:46 1995
  2325. ***************
  2326. *** 1,6 ****
  2327.   #!/bin/sh
  2328.   # the next line restarts using wish \
  2329. ! exec wish "$0" "$@"
  2330.   
  2331.   # square --
  2332.   # This script generates a demo application containing only
  2333. --- 1,6 ----
  2334.   #!/bin/sh
  2335.   # the next line restarts using wish \
  2336. ! exec wish4.0 "$0" "$@"
  2337.   
  2338.   # square --
  2339.   # This script generates a demo application containing only
  2340. ***************
  2341. *** 11,17 ****
  2342.   # Button-1 press/drag:        moves square to mouse
  2343.   # "a":                toggle size animation on/off
  2344.   #
  2345. ! # @(#) square 1.3 95/05/26 16:20:56
  2346.   
  2347.   square .s
  2348.   pack .s -expand yes -fill both
  2349. --- 11,17 ----
  2350.   # Button-1 press/drag:        moves square to mouse
  2351.   # "a":                toggle size animation on/off
  2352.   #
  2353. ! # @(#) square 1.4 95/07/18 16:21:41
  2354.   
  2355.   square .s
  2356.   pack .s -expand yes -fill both
  2357. *** ../tk4.0/./library/demos/tcolor    Mon Jun  5 22:32:04 1995
  2358. --- ./library/demos/tcolor    Tue Jul 18 16:21:46 1995
  2359. ***************
  2360. *** 1,6 ****
  2361.   #!/bin/sh
  2362.   # the next line restarts using wish \
  2363. ! exec wish "$0" "$@"
  2364.   
  2365.   # tcolor --
  2366.   # This script implements a simple color editor, where you can
  2367. --- 1,6 ----
  2368.   #!/bin/sh
  2369.   # the next line restarts using wish \
  2370. ! exec wish4.0 "$0" "$@"
  2371.   
  2372.   # tcolor --
  2373.   # This script implements a simple color editor, where you can
  2374. ***************
  2375. *** 7,13 ****
  2376.   # create colors using either the RGB, HSB, or CYM color spaces
  2377.   # and apply the color to existing applications.
  2378.   #
  2379. ! # @(#) tcolor 1.7 95/06/05 22:32:03
  2380.   
  2381.   wm title . "Color Editor"
  2382.   
  2383. --- 7,13 ----
  2384.   # create colors using either the RGB, HSB, or CYM color spaces
  2385.   # and apply the color to existing applications.
  2386.   #
  2387. ! # @(#) tcolor 1.8 95/07/18 16:21:42
  2388.   
  2389.   wm title . "Color Editor"
  2390.   
  2391. *** ../tk4.0/./library/demos/timer    Fri May 26 16:20:58 1995
  2392. --- ./library/demos/timer    Tue Jul 18 16:21:47 1995
  2393. ***************
  2394. *** 1,11 ****
  2395.   #!/bin/sh
  2396.   # the next line restarts using wish \
  2397. ! exec wish "$0" "$@"
  2398.   
  2399.   # timer --
  2400.   # This script generates a counter with start and stop buttons.
  2401.   #
  2402. ! # @(#) timer 1.3 95/05/26 16:20:58
  2403.   
  2404.   label .counter -text 0.00 -relief raised -width 10
  2405.   button .start -text Start -command {
  2406. --- 1,11 ----
  2407.   #!/bin/sh
  2408.   # the next line restarts using wish \
  2409. ! exec wish4.0 "$0" "$@"
  2410.   
  2411.   # timer --
  2412.   # This script generates a counter with start and stop buttons.
  2413.   #
  2414. ! # @(#) timer 1.4 95/07/18 16:21:44
  2415.   
  2416.   label .counter -text 0.00 -relief raised -width 10
  2417.   button .start -text Start -command {
  2418. *** ../tk4.0/./library/demos/widget    Wed Jun 21 17:32:39 1995
  2419. --- ./library/demos/widget    Tue Jul 18 16:21:45 1995
  2420. ***************
  2421. *** 1,6 ****
  2422.   #!/bin/sh
  2423.   # the next line restarts using wish \
  2424. ! exec wish "$0" "$@"
  2425.   
  2426.   # widget --
  2427.   # This script demonstrates the various widgets provided by Tk,
  2428. --- 1,6 ----
  2429.   #!/bin/sh
  2430.   # the next line restarts using wish \
  2431. ! exec wish4.0 "$0" "$@"
  2432.   
  2433.   # widget --
  2434.   # This script demonstrates the various widgets provided by Tk,
  2435. ***************
  2436. *** 11,17 ****
  2437.   # ".tcl" files is this directory, which are sourced by this script
  2438.   # as needed.
  2439.   #
  2440. ! # @(#) widget 1.9 95/06/21 17:32:37
  2441.   
  2442.   eval destroy [winfo child .]
  2443.   wm title . "Widget Demonstration"
  2444. --- 11,17 ----
  2445.   # ".tcl" files is this directory, which are sourced by this script
  2446.   # as needed.
  2447.   #
  2448. ! # @(#) widget 1.10 95/07/18 16:21:35
  2449.   
  2450.   eval destroy [winfo child .]
  2451.   wm title . "Widget Demonstration"
  2452. *** ../tk4.0/./tests/imgPPM.test    Thu Jun  8 17:04:46 1995
  2453. --- ./tests/imgPPM.test    Wed Jul 26 12:58:53 1995
  2454. ***************
  2455. *** 7,13 ****
  2456.   # See the file "license.terms" for information on usage and redistribution
  2457.   # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  2458.   #
  2459. ! # @(#) imgPPM.test 1.3 95/06/08 17:04:46
  2460.   
  2461.   if {[info procs test] != "test"} {
  2462.       source defs
  2463. --- 7,13 ----
  2464.   # See the file "license.terms" for information on usage and redistribution
  2465.   # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  2466.   #
  2467. ! # @(#) imgPPM.test 1.4 95/07/26 12:58:51
  2468.   
  2469.   if {[info procs test] != "test"} {
  2470.       source defs
  2471. ***************
  2472. *** 44,58 ****
  2473.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2474.   } {1 {PPM image file "test.ppm" has dimension(s) <= 0}}
  2475.   test ppm-1.5 {FileReadPPM procedure} {
  2476.       put test.ppm "P6\n10 10\n255\nabcdef"
  2477.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2478.   } {1 {error reading PPM image file "test.ppm": not enough data}}
  2479. ! test ppm-1.6 {FileReadPPM procedure} {
  2480.       put test.ppm "P6\n5 4\n255\n01234567890123456789012345678901234567890123456789012345678"
  2481.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2482.   } {1 {error reading PPM image file "test.ppm": not enough data}}
  2483. ! test ppm-1.7 {FileReadPPM procedure} {
  2484. !     put test.ppm "P6\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789"
  2485.       list [catch {image create photo p1 -file test.ppm} msg] $msg \
  2486.           [image width p1] [image height p1]
  2487.   } {0 p1 5 4}
  2488. --- 44,66 ----
  2489.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2490.   } {1 {PPM image file "test.ppm" has dimension(s) <= 0}}
  2491.   test ppm-1.5 {FileReadPPM procedure} {
  2492. +     put test.ppm "P6\n10 20\n256\nabcdef"
  2493. +     list [catch {image create photo p1 -file test.ppm} msg] $msg
  2494. + } {1 {PPM image file "test.ppm" has bad maximum intensity value 256}}
  2495. + test ppm-1.6 {FileReadPPM procedure} {
  2496. +     put test.ppm "P6\n10 20\n0\nabcdef"
  2497. +     list [catch {image create photo p1 -file test.ppm} msg] $msg
  2498. + } {1 {PPM image file "test.ppm" has bad maximum intensity value 0}}
  2499. + test ppm-1.7 {FileReadPPM procedure} {
  2500.       put test.ppm "P6\n10 10\n255\nabcdef"
  2501.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2502.   } {1 {error reading PPM image file "test.ppm": not enough data}}
  2503. ! test ppm-1.8 {FileReadPPM procedure} {
  2504.       put test.ppm "P6\n5 4\n255\n01234567890123456789012345678901234567890123456789012345678"
  2505.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2506.   } {1 {error reading PPM image file "test.ppm": not enough data}}
  2507. ! test ppm-1.9 {FileReadPPM procedure} {
  2508. !     put test.ppm "P6\n5 4\n150\n012345678901234567890123456789012345678901234567890123456789"
  2509.       list [catch {image create photo p1 -file test.ppm} msg] $msg \
  2510.           [image width p1] [image height p1]
  2511.   } {0 p1 5 4}
  2512. ***************
  2513. *** 114,120 ****
  2514.   } {1 {couldn't recognize data in image file "test.ppm"}}
  2515.   test ppm-3.9 {ReadPPMFileHeader procedure} {
  2516.       catch {image delete p1}
  2517. !     put test.ppm "P6\n5\n255\n012345678901234567890123456789012345678901234567890123456789"
  2518.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2519.   } {1 {couldn't recognize data in image file "test.ppm"}}
  2520.   test ppm-3.10 {ReadPPMFileHeader procedure} {
  2521. --- 122,128 ----
  2522.   } {1 {couldn't recognize data in image file "test.ppm"}}
  2523.   test ppm-3.9 {ReadPPMFileHeader procedure} {
  2524.       catch {image delete p1}
  2525. !     put test.ppm "P6\n5\n255\n!012345678901234567890123456789012345678901234567890123456789"
  2526.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2527.   } {1 {couldn't recognize data in image file "test.ppm"}}
  2528.   test ppm-3.10 {ReadPPMFileHeader procedure} {
  2529. ***************
  2530. *** 122,133 ****
  2531.       put test.ppm "P6\n5 4\nzz255\n012345678901234567890123456789012345678901234567890123456789"
  2532.       list [catch {image create photo p1 -file test.ppm} msg] $msg
  2533.   } {1 {couldn't recognize data in image file "test.ppm"}}
  2534. - test ppm-3.11 {ReadPPMFileHeader procedure} {
  2535. -     catch {image delete p1}
  2536. -     put test.ppm "P6\n5 4\n254\n012345678901234567890123456789012345678901234567890123456789"
  2537. -     list [catch {image create photo p1 -file test.ppm} msg] $msg
  2538. - } {1 {couldn't recognize data in image file "test.ppm"}}
  2539.   
  2540.   catch {exec rm test.ppm}
  2541.   catch {exec rm test2.ppm}
  2542. --- 130,135 ----
  2543.